小编yiv*_*ivi的帖子

为什么 Windows 上的 PHP 7.4 会中止所有需要用户输入的命令行操作?

我有一个在 Symfony 5.0 上在 3 台不同的 Windows 10 PC 上进行开发的本地设置,当 PHP 版本为 7.3 时,它们都没有问题,当 PHP 版本为 7.4 时,它们都有相同的问题。

它发生在任何需要用户输入的执行中,例如: * php bin/console make:entity * php bin/console doctrine:migrations:migrate

其他php bin/console make:migration不需要用户输入的命令可以正常工作,因此等待输入似乎是问题所在。

以非交互模式运行它们适用于是/否,但对很多人来说是不可能的,比如 make:entity

这是终端的输出:

PS C:\path\project> php bin/console make:entity

 Class name of the entity to create or update (e.g. VictoriousPuppy):
 >

  Aborted.  


make:entity [-a|--api-resource] [--regenerate] [--overwrite] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command> [<name>]

PS C:\path\project>
Run Code Online (Sandbox Code Playgroud)

中止立即发生,无需等待输入。我安装了 7.3 和 7.4 两个版本,切换到 7.3 使其工作正常,所以我查看了这两个 …

php symfony php-7.4

5
推荐指数
1
解决办法
2321
查看次数

未捕获的错误:找不到类“ComposerAutoloaderInit”

尝试删除并重新安装软件包后,当我尝试执行此操作时出现此新错误 include('vendor/autoload.php');

致命错误:未捕获错误:Class >'ComposerAutoloaderInit7b3c839efeba468a3d595a365ceb8e89' not found in >mypath\vendor\autoload.php:7 Stack trace: #0 mypath\mypage.php(2): include() >#1 {main} throw in mypath \vendor\autoload.php 第 7 行

我试过composer clearcache在重新安装软件包之前和之后运行。我删除C:/Users/MyUsername/AppData/Roaming/Composer甚至完全卸载了 Composer。在我重新安装 composer然后重新安装包后,错误消息仍然存在。

我错过了什么?我觉得它在某处有一个隐藏的缓存破坏了这一点。

php composer-php

5
推荐指数
1
解决办法
3650
查看次数

位于 ./foo/bar/utility/baz.php 的 Foo\Bar\Baz 类不符合 psr-4 自动加载标准。跳绳

在运行时作曲家updateinstallrequiredump-autoload,等; 我突然开始收到一条黄色的弃用通知,上面写着:

位于 ./foo/bar/utility/baz.php 的 Foo\Bar\Baz 类不符合 psr-4 自动加载标准。跳过。

在 Composer 2.0 之前,曾经得到:

弃用通知:位于 ./foo/bar/Baz.php 的 Foo\Bar\Baz 类不符合 psr-4 自动加载标准。它不会再在 Composer v2.0 中自动加载。在 phar:///usr/local/bin/composer/src/Composer/Autoload/ClassMapGenerator.php:201

为什么我会收到此通知或警告?我需要什么才能摆脱它并为 Composer 2.0 做好准备?

php autoload composer-php

5
推荐指数
1
解决办法
3693
查看次数

php卷曲错误:从对等方接收数据时失败

我有一个基本的Curl脚本,它基本上在远程服务器上执行了一个脚本.我从大约6个月开始工作正常.

昨天它停止工作,并回复了以下错误.

"卷曲错误:从对等方接收数据时失败"

想知道是否有人知道卷曲会在哪种情况下返回这样的错误!!?

我做了一点谷歌,但没有得到任何好的解释.

谢谢,Tanmay

php curl

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

如何确定是什么阻止 Composer 安装最新版本的软件包?

我正在使用 Composer Dependency Manager for PHP,它不会安装最新版本的软件包。如何确定是什么阻碍了 Composer 安装最新版本?

例如,我symfony/consolecomposer.json版本中设置为:

"symfony/console": "~3.1",
Run Code Online (Sandbox Code Playgroud)

如果我运行composer outdated它会显示我symfony/console安装了 3.1.4 版本,并且该版本 3.3.5 可用并且与 semver 兼容。

$ composer outdated --no-ansi
symfony/console                    v3.1.4  ! v3.3.5  Symfony Console Component
Run Code Online (Sandbox Code Playgroud)

但是,如果我对更新进行试运行,则只有到 3.2.12 版为止。

$ composer update --dry-run --with-dependencies symfony/console
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 2 updates, 0 removals
  - Updating symfony/polyfill-mbstring (v1.2.0) to symfony/polyfill-mbstring (v1.4.0)
  - Installing psr/log (1.0.2)
  - Installing symfony/debug (v3.3.5) …
Run Code Online (Sandbox Code Playgroud)

php composer-php

4
推荐指数
1
解决办法
2200
查看次数

如何在PHP Symfony 4中获取POST全局变量?

我在Symfony 4中获取POST全局变量的结果时遇到一个非常奇怪的问题。

我尝试过这种方式:

$date = $request->request->get('date');
Run Code Online (Sandbox Code Playgroud)

当日历输入的日期更改时,这实际上是我发送AJAX请求的方式:

onSelect: function(date, instance) {
    $.ajax({
      url : 'home',
      type : 'POST',
      data : {'date':date},
      dataType : 'html',
      success : function(code_html, statut){
        console.log(statut);
      },

      error : function(resultat, statut, erreur){

      },

      complete : function(resultat, statut){

      }          
    });
Run Code Online (Sandbox Code Playgroud)

onSelect回调成功接收到我想要的日期值。

这个结果显示了200个成功代码,其中date变量的值正确:

分析器屏幕截图

但是$ date是null

php ajax symfony4

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

使用 Doctrine 设置数据库连接超时

是否可以在 Doctrine(对于 MySQL)中设置连接超时?

我想设置5秒。我的连接超时。

doctrine symfony doctrine-orm

4
推荐指数
1
解决办法
7169
查看次数

DNS 解析器问题 Composer 2

作曲家版本:2.0.4

操作系统:macOS 10.15.7

当我运行 composer 诊断时,我遇到了 DNS 解析器问题,如附图所示

我可以从终端 ping getcomposer.org、packagist.org、github.com - 所有站点。

curl -i packagist.org -L 也按预期工作,没有任何错误

然而,通过作曲家诊断,我遇到了 DNS 解析器问题

这在我将 PHP 从 7.4.1 升级到 7.4.12 并更新到 composer 2 之后开始发生

可能是什么问题,我该如何解决

作为可搜索的文本代码 - composer 2.0.4 诊断失败

$ composer diagnose
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: FAIL
The following exception probably indicates you have misconfigured DNS resolver(s)
[Composer\Downloader\TransportException] Resolving timed out after 10003 milliseconds
Checking https connectivity to packagist: FAIL
The following exception …
Run Code Online (Sandbox Code Playgroud)

php composer-php

4
推荐指数
1
解决办法
4353
查看次数

mariabd 中长文本中的 JSON 返回“无法将数据库值转换为 Doctrine 类型 json”

Symfony 5,我User相应地编写实体代码:
https://symfony.com/doc/current/security.html#denying-access-roles-and-other-authorization

我使用 mariadb

public function getRoles(): array
    {
        $roles[] = $this->roles;
        // guarantee every user at least has ROLE_USER
        $roles[] = 'ROLE_USER';

        return array_unique($roles);
    }
Run Code Online (Sandbox Code Playgroud)

我手动添加了一个具有 role 的用户ROLE_ADMIN

我不明白为什么它返回错误:

无法将数据库值“ROLE_ADMIN”转换为 Doctrine Type json

php doctrine mariadb symfony

4
推荐指数
1
解决办法
5979
查看次数

如何更改 Symfony 上“记录器”服务的可见性?

我最近从 Symfony 3.4 升级到 4.4

代码库非常大,并且有很多container->get('logger')来自各地的引用。

我一直试图公开这项服务,但我找不到任何例子。错误:

编译容器时,“logger”服务或别名已被删除或内联。您应该将其公开,或者停止直接使用容器并使用依赖项注入。

在我的service.yml尝试中,我没有运气:

Psr\Log\LoggerInterface:
 public: true

Psr\Log\LoggerInterface:
 alias: 'logger'
 public: true

Psr\Log\LoggerInterface:
 alias: 'monolog.logger'
 public: true
Run Code Online (Sandbox Code Playgroud)

我怎样才能公开该logger服务?

注意:在从 3.4->4.4 的升级中,我们没有更新代码库以使用 Symfony Flex

php symfony

4
推荐指数
1
解决办法
1102
查看次数