根本无法让phing运行

时间:2012-04-20 20:33:36

标签: php phing

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

为pear返回运行config-get:

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

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

4 个答案:

答案 0 :(得分:24)

似乎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" 

到它。

答案 1 :(得分:1)

我解决它很简单......

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

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

我得到的包括错误。 Mac系统预装了php ...所以,推进生成器的安装错误。

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

你看到我的/ etc / paths文件:

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

答案 2 :(得分:0)

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

  1. 在任何地方下载此脚本,无论在何处

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

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

  4. 它会询问您是否要为您更新php.ini,其中包含路径[Y]

  5. 你完成了!输入phing,你应该要求你的build.xml

答案 3 :(得分:-2)

或者,如果您无权访问服务器,则可以执行以下操作:

$root = $SERVER['DOCUMENT_ROOT'];

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