ดังนั้นสิ่งนี้จะขึ้นอยู่กับวิธีที่คุณใช้ PHP เป็นอย่างมาก
มีสองวิธีทั่วไปในการดำเนินการนี้กับ Apache และแต่ละวิธีมีข้อควรพิจารณาที่แตกต่างกันในการแก้ไขปัญหานี้ด้วยสิทธิ์
ฝังตัว php.ini
โมดูลใน Apache
นี่เป็นวิธีแก้ปัญหาที่ง่ายที่สุดในการทำให้ Apache ทำงานกับ PHP ได้ PHP ทำงานภายใน Apache และรันตามที่ผู้ใช้กำหนดค่า Apache
sudo apt ติดตั้ง libapache2-mod-php.ini
sudo a2enmod php
sudo systemctl รีสตาร์ท apache2.service
PHP เอฟพีเอ็ม
PHP FPM เป็นตัวเลือกอื่น - คุณจะติดตั้งไฟล์ php-fpm
แพ็คเกจ แต่คุณจะต้องทำงานพิเศษกับ Apache เพื่อให้ใช้งานได้
sudo apt ติดตั้ง libapache2-mod-fcgid php-fpm
จากนั้นคุณต้องเปิดใช้งานโมดูล FCGId ใน Apache รวมถึงไฟล์ นามแฝง
และ proxy_fcgi
โมดูล:
sudo a2enmod การดำเนินการ fcgid นามแฝง proxy_fcgi
สำหรับ Ubuntu 20.04 PHP คือ 7.4 ดังนั้นคุณจะต้องเพิ่มสิ่งนี้ในการกำหนดค่าเซิร์ฟเวอร์ของคุณทุกที่ที่คุณใช้ php-fpm
:
<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>
สิ่งนี้จะต้องอยู่ในตัวคุณ <VirtualHost ...>
บล็อกทุกที่ที่คุณใช้ PHP
จากนั้นคุณต้องปรับ /etc/php/7.4/fpm/pool.d/www.conf
เพื่อให้ผู้ใช้ที่คุณต้องการใช้ - มองหา ผู้ใช้ = www-ข้อมูล
บรรทัดและปรับสิ่งนี้ให้เหมาะกับผู้ใช้ที่คุณต้องการ ฉันจะแสดงความคิดเห็นบรรทัดนี้แล้วใส่ผู้ใช้ของคุณกำหนดไว้ข้างใต้ แต่นั่นจะเปลี่ยนผู้ใช้ที่ใช้งานอยู่ php-fpm
เพื่อให้อ่าน/เขียนด้วย
วิธีใดวิธีหนึ่งเหล่านี้จะแก้ไขผู้ใช้/กลุ่ม PHP ของคุณที่เขียน/สร้างไฟล์ด้วย - ขึ้นอยู่กับว่าคุณติดตั้ง PHP - Apache โมดูลฝังตัวหรือ FPM อย่างไร