我在Centos上安装XDebug来调试NetBean PHP程序。我遵循了这个链接中的说明。在这个命令pecl install Xdebug
中,我得到的错误是
PHP Fatal error: Call to a member function getFilelist() on a non-object in /usr/share/pear/PEAR/Command/Install.php on line 748
.
错误的原因是什么?y Centos版本为Centos Linux 7.1.1503, NetBeans IDE为IDE 8.0.2。不确定,它们是必需的。
谢谢
这很可能与安装过程中的权限问题有关。
请确保Pecl扩展试图安装扩展的目标文件夹(php/extensions
)具有写访问权限。
所以要么用sudo
运行命令(这是不推荐的),要么纠正权限,这样PHP脚本就可以在lib/php
文件夹中创建一个新的文件夹和文件。
OS X
这是在OS X中工作的:
$ chmod -R ug+w /usr/local/Cellar/php*/lib/php
修复权限的文件夹应该在错误的正上方可见,例如
Build process completed successfully
Installing '/usr/local/Cellar/php56/5.6.20/lib/php/extensions/debug-non-zts-20131226/xhprof.so'
Fatal error: Call to a member function getFilelist() on null in /usr/local/Cellar/php56/5.6.20/lib/php/PEAR/Command/Install.php on line 747
所以基于上面的错误,你需要确保/usr/local/Cellar/php56/5.6.20/lib/php/extensions
目录存在并且它是可写的。
- gh# 1039 -无法安装pecl扩展
- pr# 50 for
pear-core
-修复PHP致命错误:在null上调用成员函数getFilelist()