【发布时间】:2012-05-01 10:34:32
【问题描述】:
我有一个 C++ 可执行文件“skypeforwarder”。如果我在 Mac 的终端中使用命令行,skypeforwarder 可以工作: henry$ /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder
sh: /Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/skypeForwarder: Permission denied
但如果在 php exec() 中调用它总是会发出“权限被拒绝”;
<?php
echo exec('whoami');
$output = null;
$execBuild = '/Users/henry/Desktop/skypeForwarder/skypekit-sdk_sdk-4.1.2.20_793394/examples/cpp/tutorial/step3/';
$execBuild .= 'skypeForwarder';
$n = exec($execBuild, $output);
我搜索了很多。问题应该是web服务器中php/browser权限的问题。我还尝试从以下位置更改文件的所有者:
-rwxr-xr-x 1 henry staff 1212716 19 Apr 11:23 skypeForwarder
到
-rwxr-xr-x 1 _www staff 1212716 19 Apr 11:23 skypeForwarder
还是不行。
我根据http://foundationphp.com/tutorials/php_leopard.php在我的mac中设置apache
【问题讨论】:
-
exec("whoami"); 的输出是什么?
标签: php linux permissions exec