brew install php with “Call to a member function getFilelist” resoled
这两天php cli老报错,修改php.ini无数回也不正常,一怒之下,卸载php54并安装了php55。
但在使用pecl安装redis等扩展的时候,总会报以下错误。
Fatal error: Call to a member function getFilelist() on a non-object in /usr/local/Cellar/php55/5.5.14/lib/php/PEAR/Command/Install.php on line 742
解决方法如下。
`brew info php55`
查看中间一段提示信息
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
The php.ini file can be found in:
/usr/local/etc/php/5.5/php.ini
✩✩✩✩ PEAR ✩✩✩✩
If PEAR complains about permissions, ‘fix’ the default PEAR permissions and config:
chmod -R ug+w /usr/local/Cellar/php55/5.5.14/lib/php
pear config-set php_ini /usr/local/etc/php/5.5/php.ini
✩✩✩✩ Extensions ✩✩✩✩
If you are having issues with custom extension compiling, ensure that
you are using the brew version, by placing /usr/local/bin before /usr/sbin in your PATH:
PATH=”/usr/local/bin:$PATH”
PHP55 Extensions will always be compiled against this PHP. Please install them
using –without-homebrew-php to enable compiling against system PHP.
✩✩✩✩ PHP CLI ✩✩✩✩
If you wish to swap the PHP you use on the command line, you should add the following to ~/.bashrc,
~/.zshrc, ~/.profile or your shell’s equivalent configuration file:
export PATH=”$(brew –prefix homebrew/php/php55)/bin:$PATH”
To have launchd start php55 at login:
ln -sfv /usr/local/opt/php55/*.plist ~/Library/LaunchAgents
Then to load php55 now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
然后执行其中提示的信息:
chmod -R ug+w /usr/local/Cellar/php55/5.5.14/lib/php
pear config-set php_ini /usr/local/etc/php/5.5/php.ini
问题解决。
然后就可以开心的跟RethinkDB玩耍了。