标签: php

VScode 格式化程序,将左括号保持在同一行(PHP)

我已经启用了“editor.formatOnSave”设置,但是在 php 文件中,当代码格式化时,所有的开括号都将转到新行。我只是想让他们保持在同一行前

function test{

}
Run Code Online (Sandbox Code Playgroud)

不是

function test
{

}
Run Code Online (Sandbox Code Playgroud)

我整天都在寻找解决方案,但我找不到任何东西

php visual-studio-code vscode-settings

19
推荐指数
4
解决办法
4088
查看次数

如何在页面和自定义 postypes 中向 Wordpress REST API 公开所有 ACF 字段

我想将属于页面或自定义帖子类型的所有 ACF 字段公开给 WordPress REST API,以便通过 javascript 进行一些 API 调用。

最终的预期结果将是ACF您可以轻松访问的对象内的所有 ACF 字段。

php wordpress advanced-custom-fields wordpress-rest-api

19
推荐指数
2
解决办法
2万
查看次数

Lumen/Laravel 6:调用未定义的函数 array_except()

所以我的 Mailable 视图抛出了这个错误——这就是我手头上的一切。当我使用 Lumen 5.8 时它运行良好,所以我猜测它是在升级到 Laravel 6 之后发生的。

调用未定义的函数array_except()(查看:/kunden/182801_60322/tu/uat/api/resources/views/mail/invite-employee.blade.php)

我的刀片文件如下所示:

@extends('mail.master')

@section('content')
<tr>
    <td align="left" style="border: 1px solid #dddee5; border-bottom: 2px solid #cecfd9; padding; 20px;">
        <div class="padded">
            <p>
            {!! nl2br(e($data->message)) !!}
            </p>
        </div>
    </td>
<tr>
<tr>
    <td align="left" bgcolor="#eaeaf2" class="padded">
        <p style="margin-bottom: 5px;" class="cta-label">{{ $data->copy->click }}</p>
        <div class="cta-link">
            <a style="color: #337BE9;" class="cta-link--a" href="{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}">{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}</a>
        </div>
        <p style="font-size: 12px; margin-top: 10px;">{{ $data->copy->mistake }}</p>
    </td>
</tr>
@endsection
Run Code Online (Sandbox Code Playgroud)

显然代码的任何部分都没有试图调用该函数。

我的 composer.json …

php laravel lumen laravel-blade laravel-6

19
推荐指数
2
解决办法
2万
查看次数

网站上的数据泄露暴露了 Chrome 在我的登录表单上发送的密码消息

我做了一个登录表单,一个经过身份验证的用户被重定向到他们的主页。但是,随着重定向 chrome 向我发送了这个这是chrome发送的消息

我对警告一无所知。我的代码是:

     /**
     * Go Login, login button is clicked
     * 
     * @return void
     */
    public function goLoginAction()
    {
        $user = new User($_POST);

        if ($user->verifyPassword()) {
            $user = User::findByUsername($user->username);

            Auth::login($user);

            $this->redirect("/$user->username/home/");
        } 

        $this->redirect('/');

    }
Run Code Online (Sandbox Code Playgroud)

go-login 是表单的操作。所以,$_POST 被发送到 go-login。verifyPassword 是验证密码的函数:

     /**
     * Verify password
     * 
     * @return true if password is correct, false otherwise
     */
    public function verifyPassword()
    {
        $users = static::findByUsername($this->username);
        if (password_verify($this->password, $users->password)) {
            return true;            
        }
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

findByUsername 是按用户名返回对象用户的函数。并且,go-login 函数中的 Auth 类创建会话:

     /**
     * …
Run Code Online (Sandbox Code Playgroud)

php

19
推荐指数
1
解决办法
1万
查看次数

Docker:PhpMyAdmin 的上传限制为 2048KiB

我有一个 docker-compose.yml 看起来像这样:

webserver:
  build: ./_docker/php
  ports:
    - 80:80
  links:
    - mysql
  volumes_from:
    - app

mysql:
  image: mysql:5.7
  environment:
    MYSQL_DATABASE: "${DB_NAME}"
    MYSQL_USER: "${DB_USER}"
    MYSQL_ROOT_PASSWORD: "${DB_ROOT_PW}"
    MYSQL_PASSWORD: "${DB_PW}"
  volumes:
    - ./_docker/data/db:/docker-entrypoint-initdb.d
  volumes_from:
    - data

data:
  image: mysql:5.7
  volumes:
    - /var/lib/mysql
  command: "true"

phpmyadmin:
  image: phpmyadmin/phpmyadmin
  ports:
    - 8080:80
  links:
    - mysql
  environment:
    PMA_HOST: mysql

app:
  image: tianon/true
  volumes:
    - .:/var/www/public_html
Run Code Online (Sandbox Code Playgroud)

Dockerfile 看起来像这样:

FROM php:7.0-apache
#php:7.2.2-apache
#php:5.6.33-apache

COPY php.ini /usr/local/etc/php/

COPY 000-default.conf /etc/apache2/sites-available/

RUN a2enmod rewrite
RUN a2enmod expires
RUN a2enmod headers …
Run Code Online (Sandbox Code Playgroud)

php apache yaml phpmyadmin docker

18
推荐指数
4
解决办法
2万
查看次数

致命错误:composer.lock 是为 PHP 7.4 或更高版本创建的,但当前的 PHP 版本是 7.3.11

我想创建一个 Symfony CRUD 应用程序。这些是我做的步骤:

  • 使用 PHP 7.3.11 从这里下载并安装 XAMPP https://www.apachefriends.org/de/index.html
  • htdocs使用 Windows 的 CLI导航到。
  • 使用命令创建了一个 symfony 项目 composer create-project symfony/skeleton my_project
  • 打开我的浏览器 (Firefox 70.0.1) 并导航到 URL: localhost/my_project/public/

在这里我收到错误消息:

致命错误:composer.lock 是为 PHP 7.4 或更高版本创建的,但当前的 PHP 版本是 7.3.11。

当我在 CLI 中检查我的 php 版本时,php -v我得到的结果是我使用的是 PHP 7.4.0 (cli)。当我通过单击 XAMPP 仪表板上的 PHPInfo(localhost/dashboard/phpinfo.php)检查 php 版本时,页面显示 php 版本 7.3.11。

在创建的 symfony 文件夹中有一个名为symfony.lock的文件。有一个条目叫做 "php": { "version": "7.4" },。更改此条目并没有解决我的问题。

任何想法如何解决这个问题?为什么我不能用 XAMPP 安装和测试最新的 symfony?

非常感谢伙计们!

穆萨

php symfony

18
推荐指数
4
解决办法
5万
查看次数

尝试执行安全策略“PDF”不允许的操作@ error/constitute.c/IsCoderAuthorized/408

我正在本地 ubuntu 20.04 机器上运行一个 laravel 项目,该项目在另一台机器上运行良好。该项目使用 Image Magic 将 PDF 转换为 PNG。当我调用将 PDF 转换为 PNG 的功能时,出现以下错误:

ImagickException 尝试执行安全策略“PDF”不允许的操作@ error/constitute.c/IsCoderAuthorized/408

该函数看起来:

public function show($id)
    {
        $book = Book::all()->first();
        $file = public_path('' . $book->pdf);
        $count = 0;
        $im = new \Imagick($file);
        $blobList=[];
        do {
            $page = new \Imagick();
            $page->setResolution(300,300);
            $page->readImage($file . '['.$count.']');
            $page->setImageFormat("jpeg");
            header("Content-Type: image/jpeg");
            $image = $page->getImageBlob();
            array_push($blobList,$image);
            $count++;
        } while (5> $count);
//        $im->resizeImage(200,200,1,0);
        return view('notice/showbook', compact('book', 'blobList'));
    }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经安装了 image magic 和 gs,并policymap.xml参考这个问题的接受答案进行了更改

然而,错误仍然存​​在。请帮忙!

谢谢,

php imagemagick laravel imagemagick-convert

18
推荐指数
1
解决办法
1万
查看次数

18
推荐指数
1
解决办法
8911
查看次数

PhpStorm 检查中的“Add #[Pure] attribute”检查是什么?

FormRequest我在 Laravel 项目中有一个非常简单的类。两种方法,两者都返回一个由方法部分填充的简单数组,但 IDE 对它们的处理方式不同。

<?php

namespace App\Http\Requests;

class VerifyPhoneNumber extends FormRequest {
    use Support\ValidatesPhoneNumbers;

    public function authorize(): bool {
        return true;
    }

    public function rules(): array {
        return [
            "phone_number" => $this->getPhoneNumberRules(),
            "verify_code" => ["required", "numeric", "max:999999"],
        ];
    }

    public function messages(): array {
        return [
            "phone_number.regex" => $this->getPhoneNumberMessage(),
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

以及非常基本的特征方法:

<?php

namespace App\Http\Requests\Support;

trait ValidatesPhoneNumbers {
    protected function getPhoneNumberMessage(): string {
        return __("Some localized error message");
    }

    protected function getPhoneNumberRules(): array {
        return ["regex:/^\+?1?[2-9][0-9]{5,14}$/", "max:16"]; …
Run Code Online (Sandbox Code Playgroud)

php phpstorm php-8

18
推荐指数
2
解决办法
2万
查看次数

无法获取 [存储库],请在运行“composer update”时检查您配置的 GitHub OAuth 令牌

当我运行时composer update,出现以下错误:

无法获取https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf,请检查您配置的 GitHub OAuth 令牌或输入新的令牌以访问私有存储库。仅使用公共 GitHub 存储库时,请前往https://github.com/settings/tokens/new?scopes=&description=Composer以检索令牌。

然后我转到“https://github.com/settings/tokens/new”,生成一个新令牌并使用以下命令设置它:

composer config --global github-oauth.github.com [token]
Run Code Online (Sandbox Code Playgroud)

即使在那之后,当我运行时composer update我也会遇到同样的错误。我怎样才能解决这个问题?

php github-api composer-php

18
推荐指数
2
解决办法
1万
查看次数