最近我在 wamp 服务器上通过了一个问题。我需要使用shell_exec()
PHP 中的函数来运行一些外部 shell 脚本(一些校验和文件)。但在我的 wamp 服务器中,默认情况下禁用该功能。我在谷歌搜索,但我找不到解决方案。所以我尝试将该代码放在实时服务器中。但也有同样的问题。我联系了该服务器的技术人员,但他说我们无法启用 shell_script。这是安全暴力。
所以唯一的方法是在 wamp 服务器中尝试...如何启用 shell_exec()
或exec()
..?
以下行是我对这个问题读到的最好的:“您需要禁用位于 \Apache2\bin 文件夹中的 php.ini 中的安全模式,而不是 php 文件夹。在加载新设置后立即重新启动 Apache2 服务。”
解决方案是:
停止 Wamp-Server 的所有服务并关闭程序
打开 .../wamp/bin/apache/Apache2。. /bin/php.ini
将 php.ini 复制到桌面并打开它
设置safe_mode_exec_dir(= 之后的行是空的,所以它是 ON !!!) 将其关闭!
节省
复制回目录(也许你需要管理员权限)
启动 wamp 服务器
享受 exec() 和合作。
我遇到了同样的问题,并尝试了很多解决方案。对我有用的是以管理员身份运行 XAMPP。
Open your php.ini
file used by wamp, find the disable_functions
part, change it and restart the server.
您需要在\Apache2\bin
文件夹中的 php.ini 中禁用安全模式,而不是 php 文件夹。
加载新设置后立即重新启动 Apache2 服务。
你试过反引号吗?(如果安全模式关闭)
`ls -hal`
Windows 等效项是
`dir \AH`
不是“服务器问题”。不建议使用此配置。您必须在管理员模式下运行 WAMP 服务器。
我想我们可以使用这些步骤
享受!!!
<?php
function _exec($cmd)
{
shell_exec('SCHTASKS /F /Create /TN _proc /TR "' . $cmd . '"" /SC DAILY /RU INTERACTIVE');
shell_exec('SCHTASKS /RUN /TN "_proc"');
shell_exec('SCHTASKS /DELETE /TN "_proc" /F');
}
_exec("mspaint.exe");
?>
而是一种 hack,但是如果您尝试使用 gui 启动任何东西,或者挂起,这就是我发现的有效方法。
我刚刚找到了一个更好的解释,但还没有尝试过。看看 - http://discussion.accuwebhost.com/linux-server/1096-how-enable-shell_exec-function-one-account.html