Laravel Valet 不工作-好像它缺少网络服务器
Laravel Valet not working- as if it's missing a web server
我按照说明安装了 Valet,前两天运行良好,完全没有问题。然后突然间它停止工作,而且随着时间的推移似乎只会变得更糟。首先,除了主页之外的所有 laravel 个项目都出现了 404 错误,最终站点完全停止工作,就好像没有网络服务器 运行 一样。
以下是有关我的环境的一些详细信息:
运行 macOS Sierra,PHP 7.1,MariaDB
Composer 工作正常并且在路径
中
Valet 2.0.3(撰写本文时最新版本)
将 MAMP 更改为默认端口,以便在安装和 运行 Valet 第一次
之前释放端口 80 和 3306
Ping something.dev returns 127.0.0.1 应该
运行 something.dev 在浏览器中不起作用 D 如果没有网络服务器 运行
经过数小时的搜索、摆弄、卸载和重新安装,我现在处于一个非常奇怪的时刻。如果 MAMP 在端口 80 和 3306 上 运行 Valet 将服务 something.dev 尽管我仍然在主页之外得到 404。怎么会这样? MAMP 不应该在其他端口上为 Valet 释放 80 和 3306 或根本不释放 运行 吗?另一件奇怪的事情是 something.dev 将 return 我的 Valet 停放的 webroot 而不是 webroot 下的站点 something.dev。
我搜索了高点和低点,我不知道如何才能得到东西 运行 它们应该的样子
按照以下步骤解决:
您必须对 nginx installation/configuration 进行故障排除,因为这是 Valet 背后的服务器。
我已经解决了代客安装后第一次重启的 "valet not serving" 问题。
1st 检查您使用的是最新版本
$ brew update
$ brew upgrade
(如果您使用的是 brew)
2nd 测试nginx配置,可能存在一些权限问题:
$ nginx -t
- 这 return 无法读取的 "error" 路径。例如。将 return 代客 error.log 或 conf 文件的路径。例如:
2017/02/04 16:32:31 [emerg] 17285#0: open() "/Users/username/.valet/Log/nginx-error.log" failed (13: Permission denied)
检查文件:$ ls -l ~/.valet/Log/nginx-error.log
-rw-r--r-- 1 root staff 7842 Feb 4 15:54 ~/.valet/Log/nginx-error.log
我的 nginx 没有启动为所有代客站点提供服务的原因是在我的主目录中,错误日志由 root 拥有。使用 chown 命令(替换为实际用户名)更改适合此文件和其他文件的权限:
$ sudo chown username:staff ~/.valet/Log/nginx-error.log
更改权限后,重启nginx:
$ sudo nginx -s stop && sudo nginx
如果命令将 return
nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx.pid"
,那是因为 nginx 不是 运行 并且没有 PID,只需再次启动 nginx 使用:
$ sudo nginx
现在测试您的代客站点。 (当 MAMP 停止时)
下一个。决定端口并配置 Valet 和 MAMP 以在没有冲突的情况下工作。
希望对您有所帮助。
注意: 必须拥有您的错误日志文件的 user:group 可以在用户指令的 nginx.conf 中找到。
我按照说明安装了 Valet,前两天运行良好,完全没有问题。然后突然间它停止工作,而且随着时间的推移似乎只会变得更糟。首先,除了主页之外的所有 laravel 个项目都出现了 404 错误,最终站点完全停止工作,就好像没有网络服务器 运行 一样。
以下是有关我的环境的一些详细信息:
运行 macOS Sierra,PHP 7.1,MariaDB
Composer 工作正常并且在路径
中
Valet 2.0.3(撰写本文时最新版本)
将 MAMP 更改为默认端口,以便在安装和 运行 Valet 第一次
之前释放端口 80 和 3306
Ping something.dev returns 127.0.0.1 应该
运行 something.dev 在浏览器中不起作用 D 如果没有网络服务器 运行
经过数小时的搜索、摆弄、卸载和重新安装,我现在处于一个非常奇怪的时刻。如果 MAMP 在端口 80 和 3306 上 运行 Valet 将服务 something.dev 尽管我仍然在主页之外得到 404。怎么会这样? MAMP 不应该在其他端口上为 Valet 释放 80 和 3306 或根本不释放 运行 吗?另一件奇怪的事情是 something.dev 将 return 我的 Valet 停放的 webroot 而不是 webroot 下的站点 something.dev。 我搜索了高点和低点,我不知道如何才能得到东西 运行 它们应该的样子
按照以下步骤解决: 您必须对 nginx installation/configuration 进行故障排除,因为这是 Valet 背后的服务器。
我已经解决了代客安装后第一次重启的 "valet not serving" 问题。
1st 检查您使用的是最新版本
$ brew update
$ brew upgrade
(如果您使用的是 brew)
2nd 测试nginx配置,可能存在一些权限问题:
$ nginx -t
- 这 return 无法读取的 "error" 路径。例如。将 return 代客 error.log 或 conf 文件的路径。例如:
2017/02/04 16:32:31 [emerg] 17285#0: open() "/Users/username/.valet/Log/nginx-error.log" failed (13: Permission denied)
检查文件:$ ls -l ~/.valet/Log/nginx-error.log
-rw-r--r-- 1 root staff 7842 Feb 4 15:54 ~/.valet/Log/nginx-error.log
我的 nginx 没有启动为所有代客站点提供服务的原因是在我的主目录中,错误日志由 root 拥有。使用 chown 命令(替换为实际用户名)更改适合此文件和其他文件的权限:
$ sudo chown username:staff ~/.valet/Log/nginx-error.log
更改权限后,重启nginx:
$ sudo nginx -s stop && sudo nginx
如果命令将 return
nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx.pid"
,那是因为 nginx 不是 运行 并且没有 PID,只需再次启动 nginx 使用:
$ sudo nginx
现在测试您的代客站点。 (当 MAMP 停止时) 下一个。决定端口并配置 Valet 和 MAMP 以在没有冲突的情况下工作。
希望对您有所帮助。
注意: 必须拥有您的错误日志文件的 user:group 可以在用户指令的 nginx.conf 中找到。