PHP 7 - ZTS (zend thread safaty ) com pthreads no Ubuntu

Publicado por: Vanderson da Silva
Postado: 23-07-2017
Atualizado:03-09-2017

antes de instalar saiba que essa instalação ira proporcionar o desenvovimento em PHP trabalhando com múltiplas threads ao executar seu script, porem a codificação threads com o pthreads só estará disponível com o PHP via linha de comando.

--inclusão do PPA para localizar a versão do php-zts
sudo add-apt-repository ppa:ondrej/php-zts

--atualização dos repositórios
sudo apt-get update

--instalação do PHP zend thread safaty mas dependência
sudo apt-get install php7.0-zts php7.0-zts-dev

--visualização das configurações default do PHP
update-alternatives --query php

--saída do comando acima
Name: php
Link: /usr/bin/php
Slaves:
php.1.gz /usr/share/man/man1/php.1.gz
Status: manualsudo add-apt-repository ppa:ondrej/php-zts
Best: /usr/bin/php7.1
Value: /usr/bin/php7.0

Alternative: /usr/bin/php5.6
Priority: 56
Slaves:
php.1.gz /usr/share/man/man1/php5.6.1.gz

Alternative: /usr/bin/php7.0
Priority: 70
Slaves:
php.1.gz /usr/share/man/man1/php7.0.1.gz

Alternative: /usr/bin/php7.1
Priority: 71
Slaves:
php.1.gz /usr/share/man/man1/php7.1.1.gz
It's important to note that there are four important PHP commands you should update if changing the default versions. These include php, php-config, phpdbg and phpize. So, to fully migrate to PHP 7.0, execute the following:

--alteração da versão default do PHP
sudo update-alternatives --set php /usr/bin/php7.0-zts
sudo update-alternatives --set php-config /usr/bin/php-config7.0-zts
sudo update-alternatives --set phpdbg /usr/bin/phpdbg7.0-zts
sudo update-alternatives --set phpize /usr/bin/phpize7.0-zts

--instalação das dependências
sudo apt-get install php7.0-zts-xml
sudo apt-get install libxml2-dev
sudo apt-get install bison

--instalação do phtread
sudo pecl install pthreads

--desabilitando o módulo e alterando a versão do PHP no apache caso você tenha outra versão de php como default
sudo a2dismod php7.1
sudo a2enmod php7.0-zts
sudo service apache2 restart

--habilitando o modulo php-zts no apache
sudo apt install libapache2-mod-php7.0-zts libapache2-mod-php

--instalação do módulo do porstgres (comando não necessário)
sudo apt-get install php7.0-zts-pgsql

--criar o aquivo
touch /etc/php/7.0-zts/cli/conf.d/20-pthreads.ini

--conteúdo do arquivo 20-pthreads.ini
; configuration for php pthreads module
; priority=20
extension=pthreads.so

--reiniciar o apache
apachectl restart

 se tudo correu bem ao executar o comando php -m o modulo pthreads deve estar habilitado

 

Categoria: PHP