tôi đã thiết lập này trong debian: apache 2.4 proxy_fcgi và php-fpm (v5.5). Trong tệp virtualhost của tôi, tôi có:apache2.4 + php-fpm + phpmyadmin trong debian
<VirtualHost *:80>
DocumentRoot /var/www/html
ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php5-fpm.sock|fcgi://./var/www/html
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
và mọi thứ hoạt động tốt, tôi có thể xem phpinfo() và mọi tập tin php yêu cầu trong/var/www/html /.
tôi tiếp tục cài đặt phpmyadmin từ repo debian nhưng khi tôi duyệt đến http://MY.IP/phpmyadmin tôi nhận được một thông báo lỗi "File not found" và trong nhật ký lỗi apache
"[proxy_fcgi:error] AH01071: Got error 'Primary script unknown\n'"
Debian gói phpMyAdmin bãi nội dung vào/usr/share/phpmyadmin. Nếu tôi tạo một file test.html dưới/usr/share/phpmyadmin tôi có thể xem nội dung của nó từ http://MY.IP/phpmyadmin/test.html
Vấn đề là file php dưới/usr/share/phpmyadmin không được xử lý. Cấu hình apache phpmyadmin là:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/
</IfModule>
</Directory>
...
và được tải trong tệp cấu hình apache.
Vì không có mod_php cài đặt không có xử lý cho các tập tin php. Làm thế nào tôi có thể nói apache để sử dụng proxy_fcgi để xử lý các tập tin php dưới/usr/share/phpmyadmin thư mục?
>> cập nhật < < tôi đã thêm một chỉ thị proxypassmatch trong conf phpmyadmin apache của
ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ unix:/var/run/php5-fpm.sock|fcgi:///usr/share/phpmyadmin/
mong đợi để làm việc nhưng tôi vẫn gặp lỗi tương tự.
>> cập nhật 2 < < tôi thay thế unix ổ cắm php-fpm với mạng (127,1: 9000) và thay thế ProxyPassmatch file virthualhost với:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
và trong conf apache phpmyadmin của:
ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/phpmyadmin/$1
ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/phpmyadmin$1index.php
và mọi thứ hoạt động .. khi tôi đi đến MY.IP/phpinfo.php tôi nhận được phpinfo từ /var/www/html/phpinfo.php và khi tôi ghé thăm MY.IP/phpmyadmin/phpinfo .php i lấy nội dung được xử lý của /usr/share/phpmyadmin/phpinfo.php.
Vấn đề của tôi được giải quyết nhưng tôi vẫn không hiểu tại sao kết nối mạng với các công trình php-fpm nhưng các ổ cắm unix thì không.
Nếu tôi có thể hôn bạn, tôi sẽ, thuần khiết! – Creek
Bạn đã cứu mạng tôi! cảm ơn rất nhiều ! –
Tôi cũng đã thử làm việc với các ổ cắm Unix cho đến khi tôi bỏ cuộc. Nó sẽ không hoạt động. Vì vậy, quyết định quay trở lại kết nối tcp !! –