我有一个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/浏览权限的问题。我还尝试将文件的所有者更改为:
-rwxr-xr-x 1 henry staff 1212716 19 Apr 11:23 skypeForwarder
to
-rwxr-xr-x 1 _www staff 1212716 19 Apr 11:23 skypeForwarder
它仍然不能工作。
我根据http://foundationphp.com/tutorials/php_leopard.php在我的Mac上设置了Apache。