2015-12-28 176 views
0

我想从PHP运行几个Python脚本。FreeBSD PHP执行权限被拒绝

在Ubuntu机器上,一切看起来都不错。

在FreeBSD虽然我得到/usr/local/lib/python2.7: Permission denied

任何想法如何给权限的Apache通过shell_execexec运行一个Python?

另请参阅我如何命名Python的完整路径? 有什么办法可以避免吗?

+0

可能的重复http://stackoverflow.com/questions/17513216/permission-denied-to-access-the-file-from-php-script或http://stackoverflow.com/questions/10236091/php- exec-command-permission-denied或http://serverfault.com/questions/667663/permission-denied-when-script-tries-to-run – Olga

回答

0

一定要使用Python和脚本的完整路径。
$foo = exec('/usr/bin/python /path/script.py');

此外,确保文件的权限在您的脚本位于可以通过WWW访问,可能会需要chmod 755 /path

+0

具有这些文件的文件夹始终是755到脚本。 cmd中有一个'sys.path',路径是'/ usr/local/lib/python2.7'。 我也在使用脚本的完整路径 – LefterisL

+0

做一个'which python2.7',这是你的python二进制文件保存的地方。 '/ usr/local/lib/python2.7'是python库的一个目录。 'sys.path'给出了一个指定模块搜索路径的位置列表。 – vesche

+0

'哪个python2.7'提供了正确的路径,使用它并且工作正常。谢谢 – LefterisL