我要安裝 phpunit ,之前的安裝方法還算簡單,我是已經安裝 lnmp 一鍵安裝包,然後要先安裝 pear ,再安裝 phpunit,這些是官方的步驟:
- sudo su -
- cd
- cd src
- wget http://pear.php.net/go-pear.phar
- php -f go-pear.phar
- export PATH=$PATH:/usr/local/php/bin
- 加這行在 /usr/local/php/etc/php.ini 中 include_path = ".:/usr/local/php/share/pear"
- pear config-set auto_discover 1
- pear install pear.phpunit.de/PHPUnit
然後phpunit就安裝完成了。
但這次跟以前不一樣,原本的系統是 ubuntu 10.04 ,現在換成 12.04,php當然用改用最新的 stable 5.3.14 。而安裝總是卡在最後一步。
# pear install pear.phpunit.de/PHPUnit
Notice: Undefined variable: errstr in PEAR/Downloader.php on line 1616
PHP Notice: Undefined variable: errstr in /usr/local/php/share/pear/PEAR/Downloader.php on line 1616
而且執行 pear 的很多東西都會有很多錯誤訊息。
我通常看到這種情況都會先把錯誤訊息 google ,但這次都找不到相關的。
網路上都說有錯誤要檢查 php.ini 的 path。但我檢查了很多次,都是正確的。
後來才知道,好像是 lnmp 0.9 版,在 php.ini 加上
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
原本是空的
disable_functions =
所以把 disable_functions 砍掉,就沒事了。
在這邊記一下這個雜項,如果有人也遇到的話。