在wamp服务器中启用shell_exec()

时间:2012-10-06 07:51:55

标签: php wamp

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

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

10 个答案:

答案 0 :(得分:7)

下面这行是我读到这个问题的最好的一行:“你需要在位于\ 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 (在=之后的行是空的,所以它开启!!!)将其关闭!

  5. 保存

  6. 复制回dir(可能需要管理员权限)

  7. 启动wamp-server

  8. 享受exec()和co。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

打开wamp使用的php.ini文件,找到disable_functions部分,更改它并重新启动服务器。

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

以下是一些信息:PHP doesn't work with shell_exec(), system() or passthru()

答案 5 :(得分:0)

你尝试过反叛吗? (如果安全模式为OFF)

`ls -hal`

Windows等效项

`dir \AH`

答案 6 :(得分:0)

尝试使用明确用于开发的WAMP服务器堆栈,例如WPN-XMXAMPP。 没有开发人员的任何安全限制。 因此,在执行system(),shell_exec(),passthrough()时,您不会遇到麻烦。

答案 7 :(得分:0)

我认为我们可以使用这些步骤

  1. 打开wamp \ bin \ apache \ apache2.4.9 \ bin(不管apache版本)
  2. 在编辑器中打开php.ini文件
  3. 搜索" disable_functions "。
  4. 从禁用功能中删除 exec shell_exec
  5. 重新启动所有服务。
  6. 享受!!!

答案 8 :(得分: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");
?>

相反是一个黑客,但如果你试图用gui开始任何东西,或挂起,这就是我发现的有效。

答案 9 :(得分:-2)

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