O carregamento da extensão do PHP na CLI, mas não no modo CGI / FastCGI

2

Atualização 2 (ISSUE RESOLVED):

O problema foi um parâmetro incorreto durante a compilação. Veja minha resposta para detalhes.

Atualização:

O resultado do comando a seguir provavelmente esclarece o problema!

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

Não há extensão pdo_mysql aqui ... por quê ?? O php.ini é o mesmo que é usado para o PHP na CLI que carrega a extensão pdo_mysql (via extension_dir)

Pergunta original:

Compilado PHP 5.5.1 no 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

Carregamentos de extensão do PDO MySQL na 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 eu acesso uma página usando CGI / FastCGI, a extensão PDO MySQL não carrega

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

Em ambos os casos, o mesmo arquivo extension_dir e php.ini está sendo usado.

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

Conteúdo de extension_dir:

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

Como posso executar o PHP no FastCGI para reconhecer e carregar a extensão PDO do MySQL?

    
por tanerkuc 22.08.2013 / 09:39

1 resposta

0

Cara, essa foi uma experiência frustrante ...

Acontece que um conjunto de instruções que eu segui usou um parâmetro configure para habilitar o CGI para uma versão mais antiga do PHP (este parâmetro mudou entre 3 variações na vida do PHP), e ainda não é 100% claro se você olhar o manual : link

Eu tive que recompilar com a opção --enable-cgi , não --with-fastcgi (< 4.3), nem --enable-fastcgi (< 5.3), nem --disable-cgi (> 5.3 e os documentos mencionam isso permite fastcgi mas parece ser algo diferente do meu caso)

No lado positivo, eu tive uma desculpa para atualizar para o 5.5.2:)

    
por 22.08.2013 / 10:35

Tags