A execução de scripts php via modo de linha de comando fornece avisos

1

Sempre que eu executo meu script de linha de comando do php, antes que o script realmente seja exibido na tela, o php sempre retorna um monte de mensagens de erro da seguinte forma:

PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mbstring.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so' - (null) in Unknown on line 0
PHP Warning:  Module 'memcache' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysql.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so' - (null) in Unknown on line 0
PHP Warning:  Module 'syck' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/opt/local/lib/php/extensions/no-debug-non-zts-20060613/zip.so' - (null) in Unknown on line 0
PHP Warning:  Module 'xdebug' already loaded in Unknown on line 0

No entanto, os avisos realmente não impedem que meus scripts sejam executados corretamente (embora algumas bibliotecas não possam ser carregadas, mas ainda posso usá-las em meus scripts). Atualmente estou executando o php5.2 instalado via macports para o Leopard 10.5.7

hidetoshi:bin jeffrey04$ port installed php5
The following ports are currently installed:
  php5 @5.2.9_0+apache2+macosx+mysql5+pear+postgresql83
  php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83 (active)
  php5 @5.3.0_1+apache2+macosx+mysql5+pear+postgresql83
  php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83

e eu mudo para o php5.2 através deste simples script de shell

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83
port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83

port deactivate php5-syck @0.55_2
port activate php5-syck @0.55_1

port deactivate php5-memcache @2.2.5_1
port activate php5-memcache @2.2.5_0

port deactivate php5-xdebug @2.0.5_0
port activate php5-xdebug @2.0.4_0

/opt/local/apache2/bin/apachectl restart

Estou fazendo algo errado? Existe alguma maneira de remover os avisos retornados durante a inicialização do PHP?

    
por Jeffrey04 12.09.2009 / 12:52

3 respostas

1

Eu vi uma pergunta semelhante em algum lugar; foi recomendado fazer todas as desativações primeiro, então todas as ativações, no caso de alguns módulos serem dependentes de outros. Então mude seu script para:

port deactivate php5 @5.3.0_2+apache2+macosx+mysql5+pear+postgresql83
port deactivate php5-syck @0.55_2
port deactivate php5-memcache @2.2.5_1
port deactivate php5-xdebug @2.0.5_0

port activate php5 @5.2.9_2+apache2+macosx+mysql5+pear+postgresql83
port activate php5-syck @0.55_1
port activate php5-memcache @2.2.5_0
port activate php5-xdebug @2.0.4_0

/opt/local/apache2/bin/apachectl restart
    
por 03.11.2009 / 15:07
0

você pode querer verificar qual arquivo php.ini é usado, pois sob alguns sistemas baseados em unix o php tem arquivos php.ini separados para as interfaces mod_php e cli.

se for esse o caso - você deve verificar as configurações no arquivo cli php.ini.

    
por 12.09.2009 / 17:03
0

Outro pensamento - desative todas as extensões do php para desativar o php ativar o php e depois ativar as extensões.

Apenas no caso de existirem outras dependências

    
por 04.10.2009 / 13:27