Recentemente descobri que ( sim, apenas porque sou n00b ) nginx + php-fpm através de soquetes unix tem um aumento de desempenho muito bom para == php == execução. Tentei usar os pacotes embutidos do ubuntu para php-fpm e php-cli. Mas a pior coisa sobre eles é que ainda são php5.3. Eu quero usar o php5.5, porque como mencionei no meu post anterior , comecei a usar apis específicos do php5.5. Então, eu decidi compilar o php5.5 do zero. Parece muito difícil, mas compilar do zero dá a você o poder de usar apenas as extensões necessárias do php.
O que eu entendi da documentação do php.net é que agora o php-fpm está embutido no código-fonte do php. requer as palavras-chave necessárias na fase de configuração. Minha ./configure
declaração php é assim:
'./configure'
'--enable-opcache'
'--prefix=/opt/php'
'--with-mysql=mysqlnd'
'--with-mysqli=mysqlnd'
'--with-tidy=/usr'
'--with-curl=/usr/bin'
'--enable-openssl'
'--with-openssl'
'--with-zlib-dir=/usr'
'--with-xpm-dir=/usr'
'--with-pdo-mysql=mysqlnd'
'--with-xsl=/usr'
'--with-ldap'
'--with-xmlrpc'
'--with-iconv-dir=/usr'
'--with-snmp=/usr'
'--enable-exif'
'--enable-calendar'
'--with-bz2=/usr'
'--with-mcrypt=/usr'
'--with-gd'
'--with-jpeg-dir=/usr'
'--with-png-dir=/usr'
'--with-freetype-dir=/usr'
'--enable-mbstring'
'--enable-zip'
'--with-pear'
'--with-libdir=/lib/x86_64-linux-gnu'
'--with-config-file-path=/opt'
'--enable-fpm'
'--with-fpm-user'
'--with-fpm-group'
'--enable-sockets'
'--with-sockets'
Estou instalando o php no /opt/php/
apenas para hábitos pessoais. Assim, a fim de ter o php como global, pode escrever export PATH=/opt/php/bin:$PATH
para o seu ~/.bashrc
ou ~/.zshrc
ou qualquer escudo tipo você está usando.
isso causará muitos erros se você não tiver as bibliotecas necessárias não instaladas em seu computador. Para contornar isso, você pode executar este comando como root no ubuntu12.04:
apt-get build-dep php5
na verdade, eu não sabia sobre este comando antes, eu manualmente apt-get’ed as bibliotecas necessárias, uma a uma. Portanto, não sei se este comando está realmente fazendo o que deveria fazer. Então, se você ainda receber erros enquanto estiver configurando o php, a pesquisa simples no Google irá ajudá-lo. Até onde sei:
apt-get install lib<library-name>-dev
comando funcionará com quase todas as dependências.
uma última coisa, se você estiver compilando para seu ambiente de desenvolvimento e quiser que o xdebug funcione, você pode digitar o seguinte como root na linha de comando:
pecl install xdebug
isso instalará o xdebug e as compilações necessárias, mas você ainda pode precisar fazer as edições necessárias no php.ini
arquivo. se você estiver tendo erros sobre o xdebug, adicione o seguinte ao seu php.ini
arquivo:
zend_extension=xdebug.so