แก้ php Version จาก 5.4 เป็น 8.2 บน centos 7
***เป็น เพียงการเปลี่ยน Version จะไม่ได้บอก ว่า code ของ 5.4 จะทำงาน บน 8.2 ได้ไหม
เริ่มจากติดตั้ง php 8.2 ก่อน
update
yum update -y
reboot
Add EPEL and REMI repository
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager –enable remi-php82.
Install PHP 8.2 packages
yum -y install php
php -v
PHP 8.2 with Nginx
yum install nginx php-fpm
หลังจากนั้น หากลองทำ phpinfo ดูจะเจอปัญหา ดูที่ /var/log/nginx/error.olg
023/11/14 23:50:28 [crit] 7431#7431: *4 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.1.102, server: _, request: “GET /api_radius/phpinfo.php HTTP/1.1”, upstream: “fastcgi://unix:/var/run/php-fpm/php-fpm.sock:”, host: “192.168.1.123:8080”
สาเหตุมาจาก สิทธิ์ไฟล์ php-fpm.sock เป็น 660
สามารถเช็คได้ที่
[root@cent7 ~]# ls -l /var/run/php-fpm/php-fpm.sock srw-rw----. 1 nobody nobody 0 Nov 10 20:01 /var/run/php-fpm/php-fpm.sock
แม้จะแก้ด้วย การเปลี่ยนสิทธิ์ไฟล์ก็ไม่หาย ต้องไปแก้ที่ /etc/php-fpm.d/www.conf
listen.mode = 0666
แก้ไปแล้ว สิทธิ์ไฟล์ chmod 666 /var/run/php-fpm/php-fpm.sock
จากนั้น restart
systemctl restart php-fpm
แล้วทดสอบอีกที