【问题标题】:cannot get phing to run at all根本无法运行 phing
【发布时间】:2012-04-20 20:33:36
【问题描述】:

Max OS X 10.7.. 当我运行 phing -v 时出现以下错误:

Warning: require_once(phing/Project.php): failed to open stream: No such file or directory in /usr/lib/php/pear/phing/Phing.php on line 22

Fatal error: require_once(): Failed opening required 'phing/Project.php' (include_path='.:') in /usr/lib/php/pear/phing/Phing.php on line 22

这是我使用的命令:

pear config-set auto_discover 1
pear install phing/phing

这是我的 php.ini:

include_path = ".:/Applications/MAMP/bin/php/php5.3.6/lib/php"

对 php、pear 和 phing 运行 whereis 会返回:

bash-3.2$ whereis php
/usr/bin/php

bash-3.2$ whereis pear
/usr/bin/pear

bash-3.2$ whereis phing
/usr/bin/phing

运行 config-get 获取梨收益:

→ pear config-get php_dir
/usr/lib/php/pear

检查此文件夹,system.phpphing.php 都存在于此路径中。

【问题讨论】:

    标签: php phing


    【解决方案1】:

    似乎include_path 不知何故坏了。

    检查 PEAR 的目录:

    pear config-get php_dir
    /usr/lib/php
    

    无论返回什么目录,它都应该包含 PEAR 文件(尤其是System.phpphing 文件)

    检查是否使用了正确的php.ini

    运行 php --ini 并查看正在加载的 INI 文件。然后确保这个 INI 文件在它的 include_path 中包含 PEAR 目录

    查看include_path:

    运行php -c /path/to/php.ini -r 'echo get_include_path() . "\n";'


    更新

    问题确实出在include_path 上,因为错误消息报告(include_path='.:') 清楚地表明PEAR 不在您的包含路径中。这意味着为 CLI PHP 加载了错误的 php.ini。要修复它,找到正确的 php.ini 文件(步骤 2)并添加

    include_path = ".:/usr/lib/php/pear" 
    

    给它。

    【讨论】:

    • 我已经更新了我的问题,在这里对您的回答做了一些回复。特别是 pear 目录、php.ini。我还完全卸载了 mamp 以及 phing 和 phpdocumentor。
    • 我最终不得不运行 pear config-set php_dir /usr/lib/php,然后重新启动 MAMP,取消注释 /private/etc/php.ini -> include_path line
    • 我在 MacOsX 10.8.3 上遇到了同样的问题,将include_path = ".:/usr/lib/php/pear" 添加到我的/etc/php.ini 文件确实解决了这个问题。谢谢!
    • 刚刚验证了如果您的用户根目录中也有 pear 库,这可以正常工作:/Users/johndoe/pear/share/pear。节省了我几个小时的头痛。非常感谢。
    【解决方案2】:

    我解决它很简单...

    我正在配置我的 /etc/paths 以在我的路径环境中包含推进生成器。

    然后我添加 /Application/XAMPP/bin 和 /Application/XAMPP/Propel/generator/bin

    我收到了包含错误。 Mac 系统自带 php 预装...所以,propel generator 出现 php 安装错误。

    我解决它很简单...我只是更改了 /etc/paths 文件夹的顺序...

    如您所见,我的 /etc/paths 文件:

    /Applications/XAMPP/bin
    /usr/bin
    /bin
    /usr/sbin
    /sbin
    /usr/local/bin
    /Applications/XAMPP/Propel/generator/bin
    

    【讨论】:

      【解决方案3】:

      只想为 mac LION 用户(通过 macport 安装东西的用户)添加一个更简单的解决方案,也可能适用于 leopard

      1. 在任何地方下载这个脚本,不管它在哪里

        curl http://pear.php.net/go-pear.phar > go-pear.phar
        
      2. 运行这个命令

        sudo php -q go-pear.phar
        
      3. 它会询问您的路径,您不需要更改它,只需检查这些路径是否包含任何 pear 相关文件。

      4. 它会询问您是否要使用这些包含路径 [Y]

      5. 为您更新 php.ini

      你完成了!输入 phing,你应该询问你的 build.xml

      【讨论】:

        【解决方案4】:

        或者如果你没有访问服务器的权限,你可以这样做:

        $root = $SERVER['DOCUMENT_ROOT'];

        它将始终引用您项目的根目录,然后您可以从中引用文件夹/文件。
        如果这样做,您不必接触服务器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-09
          • 1970-01-01
          相关资源
          最近更新 更多