Laravel / Valet,如何使用php运行项目< 7

时间:2017-03-13 10:29:39

标签: php nginx laravel-valet caddy

所以我正在开发一个需要php5.6才能工作的旧项目。

由于我已经厌倦了Homestead,我决定转向Laravel / Valet但是Valet正在使用PHP 7。

我已经从that discussion读到了一种配置我想要的方式是使用Caddy但是当我查看string.componentsSeparatedByString(", ")文件夹时,我看不到任何Caddy文件夹但是我看到了Nginx

在这种情况下,Valet更改了他的服务器配置我是否应该在Nginx中创建一个文件以指定我的配置 OR 我是否必须自己安装Caddy如果是这样我如何告诉Valet使用Caddy ?

2 个答案:

答案 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个步骤进行操作

  1. valet stop

  2. sphp [56|70|71|72]

  3. valet start

  4. 如果发现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

    代客的重要配置是

    1. Unix用户/进程组

      user = _www
      group = _www
      
    2. 接受FastCGI请求的地址。

      listen = /Users/[your_mac_user_name]/.valet/valet.sock
      
    3. 设置unix socket的权限

      listen.owner = _www
      listen.group = _www
      listen.mode = 0777