【问题标题】:Append to the Apache Environment Path附加到 Apache 环境路径
【发布时间】:2013-03-15 04:27:50
【问题描述】:

我有一个 Web 可访问的 PHP 脚本,它使用 shell 命令将 PDF 拖放到文本中。我通过 MacPorts 安装了 Poppler,并且正在使用 pdftotext。我能够从 CL 成功运行命令,并且在将 PHP 脚本中的完整路径提供给“/opt/local/bin/pdftotext”时。所以,我知道我的 $PATH 是正确的并且权限是足够的,但是当我尝试在 exec() 中简单地执行“pdftotext”时,我仍然得到一个退出状态 127:找不到命令。

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

我正在为我的本地开发使用 MAMP(我认为是 1.9)安装 OSX 10.6、PHP 5.3.5,我知道这一切都落后了 :-) ...我的 $PATH 已修改为指向 MAMP bin /php

【问题讨论】:

    标签: php macos apache environment-variables


    【解决方案1】:

    /etc/paths.d/macports 将影响 macports 的 PATH 变量,而不是 Apache。您可能需要添加 /etc/parhs.d/apache(或其他)来执行您需要的操作。
    编辑:同时检查 thisthis 线程以获取解决方案。它有点过时了,但仍然可以提供帮助。

    【讨论】:

    • 所以 /etc/paths.d 中的文件名是用于请求路径的进程,而不是路径的名称?可悲的是,添加“apache”和“php”都没有效果。
    • @WayneWeibel 我已经添加了答案的链接 - 检查你可能会在那里找到解决方案。
    • 谢谢。链接确实有帮助。我至少能够使用 putenv 获得正确的路径。对我来说还是有点老套,可能会切换到 proc_open 来执行命令。外壳是 PHP 使用的“sh”,所以接下来是制作正确的 .profile(希望如此)。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 2010-09-18
    • 2013-09-07
    • 1970-01-01
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    相关资源
    最近更新 更多