首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php-fpm不适用于exec、system、shell_exec,仅适用于CLI

php-fpm不适用于exec、system、shell_exec,仅适用于CLI
EN

Stack Overflow用户
提问于 2015-03-26 14:21:04
回答 3查看 16.6K关注 0票数 6

php-fpmnginx exec在使用.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已启用,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";
}

?>

在我的浏览器中,打印

按照常规方式来做

难道我不想知道我是不是在监狱里?

在我的php ini中

#cat /etc/php-5.5.ini

safe_mode未显示,或者打开或关闭。根本不存在

EN

回答 3

Stack Overflow用户

发布于 2015-03-26 22:24:06

我认为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);
?>
票数 1
EN

Stack Overflow用户

发布于 2015-09-09 00:11:58

Php-fpm在OpenBSD上默认是chrooted。这可能是你看到它在cli上工作而不是在web上工作的原因。

你有两个解决方案。禁用chroot (注释/etc/php-fpm.conf上的chroot = /var/www行)或修复可能遇到的问题。

ping的静态编译版本驻留在/bin/ping下(从chroot内部)。您需要在chroot中复制/etc/hosts/etc/resolv.conf,以便解析主机名称(就像您试图对google执行trying操作一样)。您计划调用的所有其他系统命令也必须复制到chroot中(以及它们的共享库或静态编译)。

使用ldd(1)找出您需要哪些库。根据你试图实现的目标,这可能是一项乏味的工作。

正如其他用户指出的那样,Exec、system和shell_exec可能已禁用。

票数 0
EN

Stack Overflow用户

发布于 2019-02-06 01:43:26

<?php
//echo "Вот-вот... ещё 1 мин";
//echo "Wait... 1 min";
echo exec('/bin/bash --login -c "cd /var/www/194.7.2.2/public && /usr/local/rvm/rubies/ruby-2.5.3/bin/ruby work1.rb "'.$_GET['some_value']);

成功了4me!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29272233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档