Khi tôi cố gắng mở index.php trong trình duyệt Tôi thấy lỗi:PHP-FPM: Hoạt động không được phép
No input file specified.
Trong error.log:
2013/11/04 22:40: 07 [lỗi] 3435 # 0: * 4 FastCGI được gửi trong stderr: "Không thể mở tập lệnh chính: /var/www/index.php (Thao tác không được phép)" trong khi đọc tiêu đề phản hồi từ phía trên, máy khách: 10.0.2.2, máy chủ : localhost, yêu cầu: "GET/HTTP/1.1", ngược dòng: "fastcgi: //127.0.0.1: 9000", máy chủ: "localhost"
Cấu hình máy chủ:
- CentOS 6.4
- PHP 5.4.17 (cài đặt từ nguồn)
- Nginx 1.0.15
PHP-FPM làm việc từ người sử dụng nginx.
$ ps aux | grep fpm
root 3460 0.0 0.7 29524 3428 ? Ss 22:48 0:00 php-fpm: master process (/usr/etc/php-fpm.conf)
nginx 3462 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3463 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3464 0.0 0.7 29524 3592 ? S 22:48 0:00 php-fpm: pool www
nginx 3465 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3466 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
vagrant 3468 0.0 0.1 5532 720 pts/0 D+ 22:48 0:00 grep fpm
$ ls -la /var/www
drwxr-xr-x 2 nginx nginx 4096 Ноя 4 22:34 .
drwxr-xr-x. 19 root root 4096 Ноя 4 22:31 ..
-rw-r--r-- 1 nginx nginx 17 Ноя 4 22:34 index.php
Bật catch_workers_output không giúp
Bạn không có 'x' đặc quyền cho index.php, 'x' có nghĩa là thực thi. Nó phải là 'rwxr-xr-x' – TroyCheng
Tôi không bao giờ thêm đặc quyền 'x' cho các tệp php, hoạt động qua máy chủ web và không có vấn đề gì. Nhưng tôi đã cố gắng thêm đặc quyền 'x' cho index.php ngay bây giờ - điều đó không giúp ích cho tôi – vanchester
Ok, 'Hoạt động không được phép' hoàn toàn là một vấn đề về quyền hạn. Trong môi trường sản phẩm, tốt hơn nên sử dụng tài khoản công việc tùy chỉnh để triển khai cả nginx và php. Ở đây tôi nhận thấy bạn sử dụng 'root' để bắt đầu php-fpm và quá trình công nhân thực sự làm việc với tài khoản 'nginx'. Và '/ var' không thể truy cập bằng tài khoản 'nginx'. – TroyCheng