我维护多个系统,需要不断地在PHP 7.0和PHP 5.6之间进行,我使用这个bash脚本来更改版本:
switch-php() {
if [[ $1 == "5.4" ]]; then
brew unlink php55 php56 php70
PHP_VERSION="php54"
REPLACE=("php55" "php56" "php70")
elif [[ $1 == "5.5" ]]; then
brew unlink php54 php56 php70
PHP_VERSION="php55"
REPLACE=("php54" "php56" "php70")
elif [[ $1 == "5.6" ]]; then
brew unlink php54 php55 php70
PHP_VERSION="php56"
REPLACE=("php54" "php55" "php70")
elif [[ $1 == "7.0" ]]; then
brew unlink php54 php55 php56
PHP_VERSION="php70"
REPLACE=("php54" "php55" "php70")
else
echo "Unsupported php version."
return
fi
brew link --overwrite $PHP_VERSION
for OLD_VERSION in "${REPLACE[@]}"; do
sed -i "" "s/$OLD_VERSION/$PHP_VERSION/g" /usr/local/etc/apache2/2.4/httpd.conf
done
sudo apachectl -k restart
}
我不知道为什么PHPUnit在PHP 5.6上正常工作,当我改为PHP 7.0时,我收到此错误:
PHPUnit 5.3.1 by Sebastian Bergmann and contributors.
[1] 11019 segmentation fault
值得一提的是,这个PHPUnit安装是基于项目的,并且是通过作曲家安装的。
有什么想法吗?
答案 0 :(得分:0)
而不是sudo apachectl -k restart,尝试在移动文件之前停止Apache。然后在移动文件后启动Apache。
答案 1 :(得分:0)
显然,我使用的配置xml文件导致了错误。如果您遇到同样的问题,请尝试运行没有自定义配置文件的phpunit。