
Instalei o PHP 5.3.8 do código-fonte no Ubuntu Natty. Também habilitei o FPM durante a configuração.
No entanto, tenho tido problemas ao instalar extensões PHP. Quando adiciono a extensão ao meu arquivo php.ini (por exemplo extension=apc.so
, ) e reinicio o PHP (ou seja /etc/init.d/php-fpm restart
), recebo um erro como o abaixo:
Starting php-fpm PHP Warning: Module 'apc' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'apc' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'geoip' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'geoip' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'imagick' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'imagick' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
<br />
Minha configuração PHP-FPM tem a configuração pm.start_servers = 5
, então tenho cerca de 5 trabalhadores PHP-FPM ativos. Todos estão tentando carregar o arquivo php.ini quando eu reinicio o PHP (daí a mensagem de que o módulo já foi carregado)?! Se estiverem, existe uma maneira de evitar que isso interrompa os erros, pois os erros se tornam fatais quando carrego o Zend Loader?
Desde já, obrigado.
Responder1
Resolvi isso anteriormente no StackOverflow. Aqui está o link para as informações.
Cada PHP-FPM Worker carrega individualmente o php.ini?
Saúde.
Responder2
O comando a seguir mostra quais arquivos .ini são usados:
ubuntu@server:~$ php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File: /usr/local/etc/php-cli.ini
Scan for additional .ini files in: /usr/local/etc/php
Additional .ini files parsed: /usr/local/etc/php/apc.ini,
/usr/local/etc/php/memcache.ini,
/usr/local/etc/php/xhprof.ini
Isso deve ajudá-lo a solucionar problemas.
Na maioria das vezes, você não deseja editar php.ini
diretamente, mas substituir/estender a configuração colocando arquivos .ini adicionais em um diretório ( /usr/local/etc/php
no meu exemplo).
Se isso não estiver definido/disponível, você precisará ajustar seu ./configure
comando para incluir --with-config-file-scan-dir
.
Por falar nisso,pontodebpode ser uma opção melhor para você.