6

最近我在 wamp 服务器上通过了一个问题。我需要使用shell_exec()PHP 中的函数来运行一些外部 shell 脚本(一些校验和文件)。但在我的 wamp 服务器中,默认情况下禁用该功能。我在谷歌搜索,但我找不到解决方案。所以我尝试将该代码放在实时服务器中。但也有同样的问题。我联系了该服务器的技术人员,但他说我们无法启用 shell_script。这是安全暴力。

所以唯一的方法是在 wamp 服务器中尝试...如何启用 shell_exec()exec()..?

4

10 回答 10

8

以下行是我对这个问题读到的最好的:“您需要禁用位于 \Apache2\bin 文件夹中的 php.ini 中的安全模式,而不是 php 文件夹。在加载新设置后立即重新启动 Apache2 服务。”

解决方案是:

  1. 停止 Wamp-Server 的所有服务并关闭程序

  2. 打开 .../wamp/bin/apache/Apache2。. /bin/php.ini

  3. 将 php.ini 复制到桌面并打开它

  4. 设置safe_mode_exec_dir(= 之后的行是空的,所以它是 ON !!!) 将其关闭!

  5. 节省

  6. 复制回目录(也许你需要管理员权限)

  7. 启动 wamp 服务器

  8. 享受 exec() 和合作。

于 2014-02-08T11:59:24.990 回答
3

我遇到了同样的问题,并尝试了很多解决方案。对我有用的是以管理员身份运行 XAMPP。

于 2019-05-08T20:41:21.557 回答
1

Open your php.ini file used by wamp, find the disable_functions part, change it and restart the server.

于 2012-10-06T07:55:19.483 回答
0

尝试使用 WAMP 服务器堆栈,这显然是用于开发的,例如WPN-XMXAMPP。对开发人员没有任何安全限制。所以在执行system()、shell_exec()、passthrough()时不会遇到麻烦。

于 2012-11-03T14:31:00.207 回答
0

您需要在\Apache2\bin文件夹中的 php.ini 中禁用安全模式,而不是 php 文件夹。

加载新设置后立即重新启动 Apache2 服务。

于 2012-10-28T22:08:14.917 回答
0

你试过反引号吗?(如果安全模式关闭)

`ls -hal`

Windows 等效项是

`dir \AH`
于 2012-11-02T22:35:31.637 回答
0

不是“服务器问题”。不建议使用此配置。您必须在管理员模式下运行 WAMP 服务器。

以下是一些信息:PHP 不适用于 shell_exec()、system() 或 passthru()

于 2012-10-31T17:43:03.600 回答
0

我想我们可以使用这些步骤

  1. 打开 wamp\bin\apache\apache2.4.9\bin(不管 apache 版本)
  2. 在编辑器中打开 php.ini 文件
  3. 搜索“ disable_functions ”。
  4. 从禁用函数中删除execshell_exec
  5. 重新启动所有服务。

享受!!!

于 2016-06-22T08:13:04.870 回答
0
<?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 启动任何东西,或者挂起,这就是我发现的有效方法。

于 2018-01-03T10:16:55.517 回答
-2

我刚刚找到了一个更好的解释,但还没有尝试过。看看 - http://discussion.accuwebhost.com/linux-server/1096-how-enable-shell_exec-function-one-account.html

于 2012-10-30T11:27:12.220 回答