几乎每次Mac系统升级后,PHP都要重新配置,最近升级了MacOS到10.13.6;
PHP通过brew update php升级到7.3;
随后要修改的地方:
1. 从7.3开始,compact方法对没有定义的变量会抛出Notice级别的错误,官网描述:
compact() issues an E_NOTICE level error if a given string refers to an unset variable.
我使用的框架大量使用了compact()方法,结果一堆Notive,只能关闭Notice级别错误:
sudo vi .../php.ini
设置error_reporting = E_ALL & ~E_NOTICE
一般框架会有自己的错误级别设置,也要进行修改:
比如CakePHP中:'errorLevel' => E_ALL & ~E_NOTICE
2. preg_*系列函数,JIT会报警告: JIT compilation failed: no more memory
Mac下PHP的BUG:https://bugs.php.net/bug.php?id=77260&thanks=6
目前的解决方案是设置php的配置项 pcre.jit=0
3. composer 也要升级到最新版本
我采用的文档方式,直接下载最新的composer.phar: