Ho questa configurazione in un debian: apache 2.4 proxy_fcgi e php-fpm (v5.5). Nel mio file virtualhost ho:apache2.4 + php-fpm + phpmyadmin in 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>
e tutto funziona bene, posso vedere phpinfo() e ogni file php Chiedo in/var/www/html /.
Continuo con l'installazione phpmyadmin dalla repo debian, ma quando navigo a http://MY.IP/phpmyadmin ottengo un errore "File non trovato" e nel log degli errori di Apache
"[proxy_fcgi:error] AH01071: Got error 'Primary script unknown\n'"
pacchetto phpMyAdmin Debian discariche il contenuto in/usr/share/phpmyadmin. Se creo un file test.html in/usr/share/phpmyadmin posso vedere il suo contenuto da http://MY.IP/phpmyadmin/test.html
Il problema è che i file php in/usr/share/phpmyadmin non vengono elaborati. La configurazione di apache phpmyadmin è la seguente:
# 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>
...
ed è caricato nel file di configurazione di apache.
Dato che non è installato mod_php, non c'è elaborazione per i file php. Come posso dire a apache di usare proxy_fcgi per elaborare i file php nella directory/usr/share/phpmyadmin?
>> aggiornare < < ho aggiunto una direttiva proxypassmatch in conf phpMyAdmin di apache
ProxyPassMatch ^/phpmyadmin/(.*\.php(/.*)?)$ unix:/var/run/php5-fpm.sock|fcgi:///usr/share/phpmyadmin/
aspettandosi di lavorare, ma continuo a ricevere lo stesso errore.
>> aggiornare 2 < < ho sostituito la presa unix php-fpm con la rete (127,1: 9000) e sostituito ProxyPassmatch del file virthualhost con:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
ed in conf apache di phpMyAdmin:
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
e tutto funziona .. quando vado a MY.IP/phpinfo.php ottengo il phpinfo da /var/www/html/phpinfo.php e durante la mia visita MY.IP/phpmyadmin/phpinfo .php ottengo il contenuto processato di /usr/share/phpmyadmin/phpinfo.php.
Il mio problema è risolto ma non riesco ancora a capire perché la connessione di rete con php-fpm funzioni ma il socket unix no.
Se potessi baciarti lo farei, puro genio! – Creek
Mi hai salvato la vita! molte grazie ! –
Ho anche provato a lavorarlo con socket Unix finché non mi sono arreso. Non funzionerà. Così ho deciso di tornare alla connessione TCP !! –