Caricamento dell'estensione PHP in CLI ma non in modalità CGI / FastCGI


2

Aggiornamento 2 (PROBLEMA RISOLTO):

Il problema era un parametro errato durante la compilazione. Vedi la mia risposta per i dettagli.

Aggiornare:

Il risultato del seguente comando probabilmente fa luce sul problema!

# php-cgi -m
[PHP Modules]
...
PDO
pdo_sqlite
...

Non c'è estensione pdo_mysql qui ... perché ?? Php.ini è uguale a quello utilizzato per PHP nella CLI che carica l'estensione pdo_mysql (tramite extension_dir)

Domanda originale:

PHP 5.5.1 compilato su Ubuntu 12.04

# php -v
PHP 5.5.1 (cli) (built: Aug 22 2013 02:57:03)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

L'estensione MySQL PDO viene caricata sulla CLI:

# php --ri pdo_mysql

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef551dfaca71298a83fad8d03d62d4 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock

Quando accedo a una pagina usando CGI / FastCGI, l'estensione MySQL PDO non viene caricata

<?php phpinfo(); ?>
PDO
PDO support     enabled
PDO drivers     sqlite

In entrambi i casi, vengono utilizzati gli stessi file extension_dir e php.ini.

php.ini path: /usr/local/lib/php.ini
extension_dir: /usr/local/lib/php/extensions/no-debug-non-zts-20121212

Contenuti di extension_dir:

#ls /usr/local/lib/php/extensions/no-debug-non-zts-20121212
mcrypt.so  opcache.a  opcache.so  pdo.so  pdo_mysql.so

Come posso far funzionare PHP in FastCGI per riconoscere e caricare l'estensione MySQL PDO?


Ho pubblicato la mia risposta, la "accetterò" al termine di un periodo di attesa
tanerkay,

Risposte:


0

L'uomo è stata un'esperienza frustrante ...

Risulta che una serie di indicazioni che seguivo utilizzava un parametro di configurazione per abilitare CGI per una versione di PHP precedente (questo parametro è cambiato tra 3 variazioni nel corso della vita di PHP) e non è ancora chiaro al 100% se si guarda il manuale: http: //php.net/manual/en/configure.about.php

Ho dovuto ricompilare con l' --enable-cgiopzione, non --with-fastcgi(<4.3), né --enable-fastcgi(<5.3), né --disable-cgi(> 5.3 e la documentazione menziona questo abilita fastcgi ma sembra essere qualcosa di diverso nel mio caso)

Tra i lati positivi, ho avuto una scusa per l'aggiornamento a 5.5.2 :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.