Instalada nova versão do PHP, não funcionando

1

Eu adicionei algumas novas versões do PHP ao meu servidor de acordo com este tutorial: link , adicionando sudo add-apt-repository ppa:ondrej/php

No entanto, após sudo aptitude install pkg-php-tools php5.6 php5.6-cgi php5.6-cli php5.6-dbg php5.6-common php5.6-curl php5.6-gd php5.6-imap php5.6-intl php5.6-mysql php5.6-pspell php5.6-sqlite3 php5.6-tidy php5.6-opcache php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-readline php5.6-xmlrpc php5.6-enchant php5.6-xsl php-all-dev php7.0 php7.0-cgi php7.0-cli php7.0-common php7.0-dbg php7.0-curl php7.0-enchant php7.0-gd php7.0-imap php7.0-intl php7.0-ldap php7.0-mcrypt php7.0-readline php7.0-pspell php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-json php7.0-sqlite3 php7.0-mysql php7.0-opcache php7.0-bz2 libapache2-mod-php7.0

As versões do PHP lançam os seguintes erros:

root@xxx /projects/xxx/xxx-site # php5.6
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_curl.dll' - /usr/lib/php/20131226/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_gd2.dll' - /usr/lib/php/20131226/php_gd2.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mbstring.dll' - /usr/lib/php/20131226/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0

Para todas as extensões ativadas. Eu verifiquei a pasta e não há nenhum arquivo dll . Apenas so arquivos. Como faço para corrigir isso? Minha versão antiga do PHP (5.5) ainda funciona, mas 5.6, 7.0, 7.1 não funcionam ..

    
por Richard 18.08.2016 / 14:56

1 resposta

1

Você modificou php.ini a qualquer momento ?. As extensões DLL são para o Windows; É realmente estranho um erro como esse.

Primeiro, se sua intenção é trabalhar / testar com várias versões do PHP, acho que algo como phpbrew poderia ser melhor.

Para seu problema, pesquise no php.ini para as seções "Extensões dinâmicas".

Para ver o que php.ini está usando, você pode:

$ php5.6 -i | grep -i 'configuration file'
Loaded Configuration File => /etc/php/php.ini

Então, nesse arquivo, suas extensões dinâmicas devem ser .so files, não .dll . Além disso, você pode tentar com diferentes php.ini (suponho que poderia ser mais do que um para as diferentes versões) com a opção -c :

$ php5.6 -c /etc/php/other/php.ini

Se isso funcionar, talvez você possa simplesmente substituir o arquivo:)

    
por Alberto Maturano 18.08.2016 / 15:34