【问题标题】:Point local version of a PEAR Package to a development path?将 PEAR 包的本地版本指向开发路径?
【发布时间】:2012-10-20 21:53:49
【问题描述】:

我正在尝试修复更复杂的 PEAR 包 (CodeCoverage) 中的错误。所以我想拥有不在我的 PEAR 路径中的开发版本:

c:\Programme\PHP\PEAR\PHP

在另一个位置有一个,这里堪称典范:

c:\Dokumente und Einstellungen\hakre\PhpstormProjects\php-code-coverage\PHP\

PEAR 中是否有一种通用方法可以临时从已安装的包切换到磁盘其他位置上的文件?

我尝试放置符号链接,但这不起作用,因为我还需要链接 CodeCoverage.php,这在 Windows XP 上是不可能的。

在 PEAR 中是否有针对这种场景的某种开发切换,或者只是每个包的业务来处理它?

我将CodeCoverage 包与PHPUnit 一起使用。

【问题讨论】:

    标签: php windows phpunit pear


    【解决方案1】:

    我可以通过将它添加到 PHP 的包含路径 before PEAR 目录来使其工作:

    include_path = ".;c:\path\to\php-code-coverage;C:\programme\php\pear"
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    

    现在调用 PHPUnit 使用标准包CodeCoverage 的开发版本。不需要符号链接,编辑php.ini就够了。

    【讨论】:

      【解决方案2】:

      "Contributing" section of the PHPUnit github project 包含一个运行脚本,可让您更轻松地完成任务。

      您可以从那里检查所有存储库,或者,如果您只需要一个,仍然使用运行脚本:

      #!/bin/bash

      php -d include_path='.:../phpunit/:../dbunit/:../php-code-coverage/:../php-file-iterator/:../php-invoker/ :../php-text-template/:../php-timer:../php-token-stream:../phpunit-mock-objects/:../phpunit-selenium/:../phpunit-故事/:/usr/local/lib/php' ../phpunit/phpunit.php $*

      本质上没有格式化为代码,因此显示了整个内容

      您可以通过将.. 替换为/path/to/your/dev/folder/ 并将脚本放入/usr/local/bin/ 并将其命名为phpunit-dev 来将路径调整为绝对路径。

      然后它会自动拾取所有现有的文件夹,并在最后回退到 pear 路径以查找它找不到的所有内容。


      另一种快速获得开发设置的方法是使用 minimum-stability: dev 从作曲家安装它,并在其中一个存储库上更改远程 :)

      【讨论】:

      • Runner 脚本可能没问题,但是我是在 Phpstorm IDE 中运行的。而且我现在只有一个在 Github 上分叉的 CodeCoverage 包。因此更改 php.ini 路径效果很好。不过谢谢你的回答,我不知道那个运行脚本。
      猜你喜欢
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 2011-04-09
      • 2012-06-12
      相关资源
      最近更新 更多