【问题标题】:phpunit seems to load incorrect include pathphpunit 似乎加载了不正确的包含路径
【发布时间】:2012-09-03 05:26:39
【问题描述】:

我正在尝试使用 MAMP 在我的 os x Lion 上安装 phpunit。我已经在 /Applications/MAMP/bin/php/php5.4.4/lib/php 安装了 phpunit。

当我在终端运行 phpunit 时,我得到了这个错误:

警告:require_once(File/Iterator/Autoload.php):打开流失败:第 45 行的 /usr/lib/php/pear/PHPUnit/Autoload.php 中没有这样的文件或目录

致命错误:require_once():无法在第 45 行的 /usr/lib/php/pear/PHPUnit/Autoload.php 中打开所需的 'File/Iterator/Autoload.php' (include_path='.:')

我注意到包含路径是“。”所以我在终端中运行它来查找正在加载的 php.ini 文件“php --ini”并得到这个

Loaded Configuration File:         /Applications/MAMP/bin/php/php5.4.4/conf/php.ini

php.ini文件中的包含路径是

include_path = ".:/Applications/MAMP/bin/php/php5.4.4/lib/php:/usr/lib/php/pear:/usr/bin/phpunit"

那么为什么它会显示为“。”在终端运行 phpunit 时?

作为检查,我使用以下代码创建了一个 php 文件:

echo get_include_path();

当我在终端中运行该文件时,它会在 php.ini 文件中输出包含路径。

我还在 /Applications/MAMP/bin/php/php5.4.4/lib/php/PHPUnit/Autoload.php 的顶部添加了echo get_include_path();。当我用这个在终端中运行 phpunit 时,输出的包含路径是“.:”

似乎 phpunit 正在加载需要修复的不同包含路径。

【问题讨论】:

    标签: phpunit pear php include-path


    【解决方案1】:

    可能是您安装了 2 个 PHPUnit,一个在 /usr/lib/php/pear/ 中,一个在您的 MAMP 目录中。你会执行第一个。

    如果是这种情况,那么您应该更改您的 $PATH 以将 MAMP php bin 目录放在首位。

    【讨论】:

      【解决方案2】:

      对我来说最简单的方法是直接从https://phar.phpunit.de/phpunit.phar 下载最新版本,然后在终端中找到文件的下载位置,然后:

      machine:~ username$ chmod +x phpunit.phar
      
      machine:~ username$ mv phpunit.phar /usr/local/bin/phpunit
      

      调整您的 PATH,例如在 .profile 中:

      machine:~ username$ pico .profile
      

      确保你有这一行,如果没有,只需包括:

      export PATH=/usr/local/bin/:$PATH
      

      退出并重新打开终端或:

      machine:~ username$ source .profile
      

      现在

      machine:~ username$ phpunit --version
      

      应该显示最新安装的版本

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-28
        • 2014-10-19
        • 2022-11-22
        • 1970-01-01
        • 2016-12-08
        • 1970-01-01
        • 2013-07-14
        • 1970-01-01
        相关资源
        最近更新 更多