【问题标题】:Problem in using functions Exec, passthru, System使用函数 Exec、passthru、System 时出现问题
【发布时间】:2011-07-09 10:54:22
【问题描述】:

大家好,亲爱的朋友和老师们……心

在我当前项目的设计阶段我错了,我尝试了 Game,不幸的是我错过了一个积极的结果。 呵呵呵呵 我一直在使用 AutoHotKey Autoit 或更好的说法的编程语言项目,并将源文件转换为 exe。 (每个用户的文件)使用Windows,我是主机或PSP!...

当我在这种情况下通过php函数让她,(Exec, passthru, System) 执行Wine和文件时会运行编译器,函数不起作用!函数 passthru, System 因为它们的输出,它们的输出是 127,它被打败了。我刚刚订购了一些我想运行PHP的Linux,我仍然要处理输出127。

也许我得到了常用的功能,这些功能已经被禁用了,但是当我看到我的php.ini文件时,disabled_fuctions里面没有任何功能!

但是,我必须说PHP不能运行相同的命令,可以通过SSH文件和exe正常运行。两者都生产。迷茫

遇到过这种情况的朋友请帮忙...

<?php
passthru('/usr/bin/wine /home/adslgpfo/public_html/iwe/Ahk2Exe.exe "/in a.ahk" ', $p);
print_r($p);

echo " - ";

system('wine /home/adslgpfo/public_html/iwe/Ahk2Exe.exe /in b.ahk ', $s);
print_r($s);
?>

【问题讨论】:

  • 查看error.log 以获得可能的解释。 - 此外,如果您的 PHP 启用了safe_mode(请参阅您的 phpinfo 页面),那么 exec 函数也将被禁用。
  • 可能我得到了常用的功能,这些功能都被禁用了,但是当我看到我的php.ini文件时,disabled_fuctions里面没有任何功能!
  • safe_mode 已启用!

标签: php system exec passthru


【解决方案1】:

如果启用了 PHP safe_mode,则隐式禁用 exec 函数:

http://php.net/manual/features.safe-mode.functions.php

您必须禁用它,或者使用safe_mode_exec_dir 做一些麻烦的变通方法以允许执行wine

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多