所以我正在开发一个需要php5.6才能工作的旧项目。
由于我已经厌倦了Homestead,我决定转向Laravel / Valet但是Valet正在使用PHP 7。
我已经从that discussion读到了一种配置我想要的方式是使用Caddy但是当我查看string.componentsSeparatedByString(", ")
文件夹时,我看不到任何Caddy文件夹但是我看到了Nginx
在这种情况下,Valet更改了他的服务器配置我是否应该在Nginx中创建一个文件以指定我的配置 OR 我是否必须自己安装Caddy如果是这样我如何告诉Valet使用Caddy ?
答案 0 :(得分:2)
您可以使用home brew安装多个版本的PHP。 要安装php56,您需要首先取消链接php70
brew unlink php70
并通过安装php56
进行跟进brew install php56
现在你将在命令行上安装php56,但是可能会有一个挥之不去的php70 fpm进程。要阻止它,你需要运行:
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
并加载php56 fpm
launchctl load -w /usr/local/opt/php56/homebrew.mxcl.php56.plist
如果你想在启动时启动php56 fpm
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
要切换回php70,只需执行上述相反操作。
答案 1 :(得分:1)
我使用sphp在macOS sierra上切换PHP,如
$ sphp 56
$ sphp 70
$ sphp 71
要切换代客PHP,只需按照3个步骤进行操作
valet stop
sphp [56|70|71|72]
valet start
如果发现NGINX错误,请查看以下日志:
/usr/local/var/log/php-fpm.log
/usr/local/var/log/nginx/error.log
如果PHP fpm退出,则必须匹配用于安装代客的PHP版本,将版本配置与其他版本配对。比较7.0和5.6:
/usr/local/etc/php/7.0/php-fpm.d/www.conf
/usr/local/etc/php/5.6/php-fpm.d/www.conf
代客的重要配置是
Unix用户/进程组
user = _www
group = _www
接受FastCGI请求的地址。
listen = /Users/[your_mac_user_name]/.valet/valet.sock
设置unix socket的权限
listen.owner = _www
listen.group = _www
listen.mode = 0777