在Homestead环境中,在Homestead.yaml中配置php多版本
- map: laravel9.test
to: /home/vagrant/code/laravel9/public
php: "8.0"
Homestad运行之后,访问项目报错502
1.查看nginx报错日志(/var/log/nginx)
2023/05/26 14:24:47 [crit] 4897#4897: *4 connect() to unix:/var/run/php/php8.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.56.1, server: laravel9.test, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php8.0-fpm.sock:", host: "laravel9.test"
2.查看站点的nginx配置(/etc/nginx/sites-available/laralvel9.test)
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;//按照目录查找
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
3.在/var/run/php目录下不存在对应的php-fpm
4.添加对应版本的php-fpm,按照需要添加的版本(命令中的版本号按需修改),依次执行以下命令
sudo cp /etc/php/7.2/fpm/pool.d/www.conf /etc/php/7.2/fpm/pool.d/php72.conf
sudo php-fpm7.2 -F -R -c /etc/php/7.2/fpm/php72.conf
5.查看/var/run/php下的php-fpm,如果存在,就ok了
Note:
在之后的操作中发现,重启后/var/run/php下面的其他版本php-fpm又消失了,此版重在解释报错原因