php – Laravel Valet无法正常工作 – 好像它缺少一个Web服务器

我按照说明安装代客,它在前两天工作正常,没有任何问题.然后它突然停止工作,但随着时间的推移似乎变得更糟.首先,除了主页之外的所有laravel项目都有404个错误,最终网站完全停止工作,好像没有运行Web服务器一样.

以下是有关我的环境的一些细节:

>运行macOS Sierra,PHP 7.1,MariaDB
>作曲家工作正常,并在路上
>代客2.0.3(撰写本文时最新)
>在首次​​安装和运行Valet之前,将MAMP更改为默认端口以释放端口80和3306
> Pinging something.dev应该返回127.0.0.1
>如果没有运行Web服务器,则在浏览器中运行something.dev不起作用

经过几个小时的搜索,摆弄,卸载并重新安装我现在处于非常奇怪的一切.如果MAMP在端口80和3306上运行,Valet将服务于something.dev,尽管我仍然在主页之外获得404.怎么会这样?是不是MAMP应该在其他端口上为Valet释放80和3306或根本不运行?另一个奇怪的事情是,something.dev将返回我的webroot,这是Valet停放的,而不是webroot下的站点something.dev.
我已经搜索过高低,我不知道如何让事情按照应有的方式运行

最佳答案 请按照以下步骤解决此问题:

您必须对nginx安装/配置进行故障排除,因为这是Valet背后的服务器.

在代客安装之后第一次重启时,我已经完成了“代客不服务”问题.

首先检查您使用的是最新版本

$brew更新
$brew升级(如果你正在使用brew)

nginx的第二个测试配置,可能存在一些权限问题:

$nginx -t – 这将返回无法读取的“错误”路径.例如.将返回valet error.log或conf文件的路径.例如:

2017/02/04 16:32:31 [emerg] 17285#0:open()“/ Users /username/.valet/Log/nginx-error.log”失败(13:权限被拒绝)

检查文件:$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用户名:staff~ / .valet / Log / nginx-error.log

更改权限后,重新启动nginx:
$sudo nginx -s stop&& sudo nginx

如果命令将返回
nginx:[错误]“/usr/local/var/run/nginx.pid”中的PID编号“”无效,这是因为nginx没有运行且没有PID,只需再次启动nginx:
$sudo nginx

现在测试你的代客网站. (当MAMP停止时)
下一个.确定端口并配置Valet和MAMP无冲突地工作.

希望这有帮助.

注意:用户:必须拥有错误日志文件的组可以在user指令的nginx.conf中找到.

点赞