gpt4 book ai didi

nginx - php-fpm 不工作 exec、系统、shell_exec,只有 CLI

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:00 26 4
gpt4 key购买 nike

php-fpm, nginx 使用时执行 .phpfiles() shell_exec() system() 在命令行中运行良好。

运作良好的例子:

#php myphp.php

myphp.php 包含:

<?php
exec('ping -c 3 google.com', $output);
print_r($output);
?>

但是如果我在我的浏览器上输入 http://localhost/myphp.php,它就不再工作了。

有什么想法吗?我编辑

我创建了一个包含以下内容的文件:

#cat info.php

<?php
if(function_exists('exec')) {
echo "exec is enabled";
}
phpinfo();
?>

在我的浏览器中,打印

exec is enabled, y php info..

我创建了一个包含以下内容的文件:

#cat info.php

<?php
// Check for safe mode
if( ini_get('safe_mode') ){
// Do it the safe mode way
echo "Do it the safe mode way";
}else{
// Do it the regular way
echo "Do it the regular way";
}

?>

在我的浏览器中,打印

Do it the regular way

难道我不想知道自己是否在 jail 里吗?

在我的 php ini 中

#cat /etc/php-5.5.ini

safe_mode 未显示,或 ON 或 OFF。根本不存在

最佳答案

我认为 exec 和那些功能在您的 php.ini 中被禁用。您可以通过以下方式检查它

if(function_exists('exec')) {
echo "exec is enabled";
} else {
echo "exec is disabled";
}

打开你的 php.ini 并导航到 disable_functions 部分

如果 exec 列在下面,请将其删除。

然后重启php-fpm

此外,如果启用了安全模式,则此功能将不可用。您需要禁用它。

编辑

使用完整路径进行 ping。您可以通过在 shell which ping

中发出此命令来找到它

编辑

<?php
exec('/sbin/ping -c3 google.com', $output);
print_r($output);
?>

关于nginx - php-fpm 不工作 exec、系统、shell_exec,只有 CLI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29272233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com