我做了一些愚蠢的事情,在valet use 7.1
进程的中间,我按了ctrl-C
。为了让一切工作从那时起我卸载了代客+,做了composer global update
,brew update
,valet fix
和valet install
但我访问的每个网站都吐出来了#34;致命错误:在第37行" /Users/n8klatt/.composer/vendor/weprovide/valet-plus/server.php中调用未定义函数apcu_fetch()。关于如何让Valet +再次工作的任何想法?
(中断valet use 7.1
调用后的初始错误是"无法确定链接的PHP",我用brew link --force php@5.6
补救,因为5.6是我一直在使用的。允许我继续valet use 7.1
,但后来我的所有网站都开始抛出apcu_fetch错误。)
答案 0 :(得分:0)
所以你在这里遇到了两个问题:
调用未定义的函数apcu_fetch()很可能是因为PHP-FPM在不同的PHP版本上运行您的Web服务器作为CLI。确保您的Web服务器运行的版本与CLI相同。很容易检查这是在server.php文件中添加PHPINFO并检查结果。通常重新启动PC会导致旧的PHP-FPM实例死亡。
无法确定链接PHP是在您没有通过brew安装的本机PHP版本上运行时引发的错误。在这种情况下,valet-plus无法找到PHP安装的正确版本号并引发此错误。
解决方案:
希望有帮助,如果不给我评论。
答案 1 :(得分:0)
我对php56有同样的问题。但是在用brew重新安装PHP56之后,我没有使用代客服务,而是添加了pear和pecl模块。我用pecl channel-update pecl.php.net
和pecl install apcu-4.0.11
安装了apcu(无法直接安装apc)。
该安装后,在php56 .ini文件中添加了extension="apcu.so"
,该文件指向/usr/local/Cellar/php@5.6/5.6.38/lib/php/20131226/apcu.so
,该图像实际上不存在,因为该图像是由PECL安装的,因此我不得不将php56 .ini更改为apcu扩展名以匹配图像文件所在的extension=/usr/local/lib/php/pecl/20131226/apcu.so
,然后重新启动apache即可。