0

我在尝试让代码嗅探器与 Xampp (1.7.1) 一起工作时遇到了问题。我通过编辑 php.ini 中的 include_path 来运行 pear。

当我尝试运行 phpcs 时,出现以下错误:

Warning: include_once(PHP/CodeSniffer/CLI.php): failed to open stream: No such file or directory in C:\xampp\php\phpcs on Line 31

Warning: include_once(): Failed opening 'PHP/Codesniffer/CLI.php' for inclusion (include_path="\xampp\php\pear") in C:\xampp\php\phpcs on line 31

Fatal error: Class 'PHP_CodeSniffer_CLI' not found in C:\xampp\php\phpcs on line 34

有人知道这里发生了什么吗?

4

2 回答 2

0

PEAR 可能还在 phpcs 可执行文件 (-d include_path="''") 中设置了一个包含路径,它覆盖了默认值。如果您在安装 phpcs 之前忘记创建默认的 php.ini 文件,这尤其令人讨厌。

于 2013-04-25T22:06:44.960 回答
0

听起来 PHP 包含路径肯定是错误的,即使 PEAR 本身正在工作。不过这有点奇怪。

你有\xampp\php\pear\PHP\CodeSniffer\CLI.php档案吗?如果没有,你能找到它在\xampp\php\pear目录下的位置吗?

例如,如果它实际上是在,\xampp\php\pear\source\pear\PHP\CodeSniffer\CLI.php那么您需要将您的 include_path 更改为\xampp\php\pear\source\pear. 但这可能会破坏您的 PEAR 安装,这可能意味着 PEAR 配置不正确。

如果是这种情况,值得卸载 PHP_CodeSniffer,更改 PEAR 的 php_dir 配置变量的位置,然后重新安装 PHP_CodeSniffer。

例如:

pear uninstall php_codesniffer
pear config-set php_dir \xampp\php\pear
pear install php_codesniffer

(抱歉,我不确定 Windows 上的 pear 是否需要路径中的驱动器号,所以只需检查当前值pear config-get php_dir并根据该格式调整路径。)

我希望这些信息可以帮助您前进一点。

于 2012-09-07T22:38:48.387 回答