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

Posted

技术标签:

【中文标题】出于安全原因,Composer escapeshellarg() 已被禁用【英文标题】:Composer escapeshellarg() has been disabled for security reasons 【发布时间】:2015-12-05 05:54:03 【问题描述】:

嘿,我在linode.com (Centos 7) 上有一个服务器。我在我的服务器上安装了cpanel 和 composer,当我运行这个命令(通过 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对我来说是不是一个障碍?

【问题讨论】:

您可以考虑发布解决方案作为答案并接受它。 【参考方案1】:

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

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

php -i | grep "Loaded Configuration File"

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于出于安全原因,Composer escapeshellarg() 已被禁用的主要内容,如果未能解决你的问题,请参考以下文章

出于安全原因,已禁用消息“mail() 引发的 ErrorException

出于安全原因,对未登录用户使用 wordpress nonces 是不是有意义?

PayPal API 沙盒 - “出于安全原因,此页面不再可用”

出于安全原因不允许登录 postgresql centos 服务器

curl_init() 出于安全原因已被禁用

我应该始终使我的 java 代码线程安全,还是出于性能原因仅在需要时才这样做?