出于安全原因,Composer escapeshellarg() 已被禁用

Composer escapeshellarg() has been disabled for security reasons

嘿,我在 linode.com (Centos 7) 上有一个服务器。我在我的服务器上安装了 cpanel 和作曲家,当我 运行 这个命令(通过 ssh)创建一个空白的 symfony 项目时,

composer create-project symfony/framework-standard-edition '~2.6'

它输出这个:

Installing symfony/framework-standard-edition (v2.7.4)
  - Installing symfony/framework-standard-edition (v2.7.4)
    Downloading: 100%         



  [ErrorException]                                         
  escapeshellarg() has been disabled for security reasons  

我该如何解决这个问题?

我对服务器了解不多而且这是我的第一台服务器,如果是因为cpanel我认为它会在未来一次又一次地这样做,cpanel是一个障碍我?

我通过编辑 php.ini 文件修复了它。

您可以使用此命令找到您的 php.ini 位置:

php -i | grep "Loaded Configuration File"

我搜索了 escapesshellarg,并在 disable_functions= 中找到了它。我从 disable_functions 中删除了它并修复了它。

您可以使用 php -n,不会使用 php.ini 文件。

启用 escapeshellarg 可能是 mod_php 或 php-fpm 的安全问题。