2013-03-25 76 views
0

我有一个使用shell命令删除PDF文件的文本网页访问的PHP脚本。我安装了Poppler,并通过MacPorts使用pdftotext。我能够成功地从CL运行命令,并且在PHP脚本中将完整路径提供给'/ opt/local/bin/pdftotext'。所以,我知道我的$ PATH是正确的,并且权限足够,但当我试图在exec()中简单地执行'pdftotext'时,我仍然得到127的退出状态:Command Not Found。追加到Apache的环境路径

我从How do I add paths to the Apache PATH variable?http://lists.apple.com/archives/macos-x-server/2008/Sep/msg00433.html尝试了答案。我修改了/ etc/path和/ etc/profile,并添加了/etc/paths.d/macports,它们都指向'/ opt/local/bin'。 setenv,apache_setenv等也都没有效果。

我正在使用MAMP(1.9我认为)为我的本地开发安装OSX 10.6,PHP 5.3.5,后面我知道一点:-) ...我的$ PATH被修改为指向MAMP斌/ PHP

回答

1

/etc/paths.d/macports将在PATH变量影响的MacPorts的,而不是Apache的。你可能需要添加/etc/parhs.d/apache(或其他)来做你需要的。
编辑:还要检查thisthis线程解决方案。它已经有些过时了,但仍然可以提供帮助。

+0

所以在/etc/paths.d该文件的名称是请求路径,而不是的路径是什么名字的过程?可悲的是,添加'apache'和'php'都没有效果。 – 2013-03-26 17:18:44

+0

@WayneWeibel我已经添加了答案的链接 - 检查可能是你会找到解决方案。 – cody 2013-03-27 06:19:13

+0

谢谢。链接确实有帮助。我至少能够使用putenv获得正确的路径。为了我的口味,仍然有点冒险,可能会切换到执行命令的proc_open。 shell是'sh',PHP正在使用,所以接下来是制作正确的.profile(希望)。再次感谢。 – 2013-03-27 14:13:10