我在 php ini 中有这个函数,它默认阻止 shell_exec。php.ini
suhosin.executor.func.blacklist = shell_exec
它工作得很好。当我想允许 shell_exec 时,我在 httpd.conf 目录中使用这个允许功能的函数。这个函数是
< 目录 "/crons" >
php_admin_value suhosin.executor.func.blacklist “shell_exec”
< /目录 >
这允许一个目录的功能。它工作得很好。如果将地址写入网页浏览器,就可以了。允许此目录的功能。
但如果在 shell 中写:
php /crons/e.php
所以我在控制台中收到 php 错误 shell_exec 已被禁用。因为它在 Web 浏览器中有效,但在 bash 中无效?
谢谢你的答案
答案1
命令行上的 PHP 不使用 Apache php_admin_value。您可以使用
php -d "suhosin.executor.func.blacklist=" e.php
或者使用自定义 php.ini 文件:
php -n -c php.ini e.php
或者使用自定义 php.ini 文件 (检查php --ini
) 配置 php-cli - 通常类似于 /etc/php5/cli/php.ini。