(网上有人提到这一点,但没有一个解决方案奏效。)我希望能够从PHP脚本中使用shell_exec和exec。
含义,用途:
<? exec("echo hello world"); ?>
或者
<? shell_exec("echo hello world"); ?>
根据我在网上找到的链接(http://forums.cpanel.net/f5/enable-shell_exec-one-user-109601.html),一种方法是在VirtualHost下添加指令:
但是,当我查看配置文件,试图重新启动网络服务器,我得到:
28/07/14 17:18:26: Syntax error on line 1 of /etc/httpd/conf.d/serv1.conf:
28/07/14 17:18:26: php_admin_value takes two arguments, PHP Value Modifier (Admin)
并且服务器不会重新启动。
如何启用exec和shell_exec?我找不到这个错误的根源。
编辑:我不是机器上的根。我找不到php。ini文件,但有一个/etc/httpd/conf.d/php。conf文件,它没有禁用函数。
这是:
#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
您需要通过浏览\Apache2\bin
(非文件夹)禁用PHP中的安全模式,然后重新启动服务器。
检查这里和这里。
如果你不是机器上的根,并且exec()
函数被禁用,那么你不能自己启用它。
看见http://php.net/manual/en/ini.core.php#ini.disable-功能
禁用函数字符串
此指令允许您出于安全原因禁用某些功能。它采用逗号分隔的函数名列表。禁用功能不受安全模式的影响。
使用此指令只能禁用内部功能。用户定义的函数不受影响。
此指令必须在php.ini中设置例如,您不能在httpd.conf.中设置此指令
我目前有一个PHP页面,我的网络服务器服务。为了显示我需要在页面上显示的所有信息,我需要从外部python脚本输出。所以我一直在使用php的exec()命令来执行python脚本,并捕获字符串数组中的输出,如下所示: 然而,从来没有任何要打印的条目,但是当我直接在服务器的控制台上运行该命令时,它将正确输出。我已经尝试在我正在执行的网页上回显命令,这是正确的命令。我认为它唯一能做的就是exec()不
问题内容: 我努力理解之间的区别和… 我一直习惯于执行服务器端命令,何时使用? 是否只是一个速记?较少的参数似乎是同一件事。 问题答案: 以字符串形式返回所有输出流。默认情况下返回输出的最后一行,但是可以将所有输出作为指定为第二个参数的数组提供。
问题内容: 这就是很多问题。我在Apache上具有PHP 5.2.9,并且无法升级PHP。我有办法在PHP 5.2.9中启用SOAP吗?PHP手册说“要启用SOAP支持,请使用–enable-soap配置PHP”完全没有帮助。我该如何配置? 问题答案: 使SOAP正常工作通常不需要从源代码编译PHP。我建议仅尝试将其作为最后的选择。 为了获得良好的效果,请检查您的phpinfo关于SOAP扩展的内
问题内容: 它应该是如此简单。我已经跟踪了所有可以找到的教程和论坛,但是无法正常工作。我只想在Apache2上用PHP构建RESTful API。 在我的VirtualHost指令中,我说: 但是我向服务器发出的每个PUT请求都得到了不支持的405方法。 有人提倡使用Script指令,但是由于我使用的是mod_php(而不是CGI),所以我不明白为什么会这样。 人们提到使用WebDAV,但在我看来
我有一个PHP脚本,用于从供应商合作伙伴导入数据。它需要做的一件事是通过shell_exec()调用另一个脚本,然后处理一个图像文件并将其上传到AmazonS3存储桶。我现在正在终端上观看这个脚本的输出,过了一会儿,我看到一系列消息,内容如下: 奇怪的是,同一个脚本在这个脚本中被多次调用,开始工作,然后停止。它也是从其他脚本调用的,在这些脚本中运行良好。当我复制它无法运行的命令并将其粘贴到我自己时
问题内容: 所以我有这段代码,我只想在另一个目录中列出保存的列表,其中php scrip在xampp文件夹中,并且保存到此路径: 我不知道为什么我不能让它继续工作,似乎输出为空,我真的混淆了它应该工作,或者我只是错了我需要一些帮助。 问题答案: 添加到shell命令的末尾以返回。 另外,如果运行PHP的用户没有足够的权限来查看中的输出,则上述代码将返回错误消息。