Valet 是 Mac 极简主义者的 Laravel 开发环境。
问题一
brew services stop php
和 valet stop
全部停止之后:
访问站点:
brew services stop php
之后,启用 valet start
:
站点还是访问不了,一直显示 502,同时~/.config/valet/Log/nginx-error.log
会输出以下日志:
1 | 2022/02/22 20:32:00 [crit] 36873#0: *1 connect() to unix:/Users/boo/.config/valet/valet.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/Users/boo/.config/valet/valet.sock:", host: "localhost" |
查了一下,看到了这个答案,最后尝试以下命令,解决:
1 | composer global update |
问题二
再次访问默认站点,即可看到正常输出页面:
但是当我访问同目录下的其他非默认站点时(valet 的顶级域名,比如 phpinfo.test),又会出现 502,这是为什么呢?
而且这一次还没有看到任何error.log
输出。
那这个就和Nginx
或者 PHP-FPM
没有什么关系了。
这是因为本地的Clash 设置了系统代理,所有请求都是通过 127.0.0.1:7890
转发出去的。
具体可以看一下下面两个Issue:
总结
- 启用 Valet 的话,就不用再手动使用
brew
启用PHP 或者 Nginx 了,否则端口会冲突 - 本地启用系统代理的情况下,访问Valet 下的顶级域名站点,通常会失败
常用命令
Valet 常用命令
命令 | 描述 |
---|---|
valet forget | 从一个『驻留』目录运行此命令,从驻留目录列表将其它移除 |
valet log | 从 Valet 的服务中查看日志 |
valet paths | 查看所有『驻留』路径 |
valet restart | 重启 Valet 守护进程 |
valet start | 开启 Valet 守护进程 |
valet stop | 停止 Valet 守护进程 |
valet trust | 为 Brew 和 Valet 添加文件修改权限使 Valet 输入命令的时候不需要输入密码 |
valet uninstall | 完成卸载 Valet 守护进程 |
valet use php@7.2 | 切换PHP 版本 |
valet tld app | 切换顶级域名 |