Compile o PHP pela origem. Preso em phar.phar

0

Eu estou tentando instalar o PHP (Versão 5.5.11) por fonte, pois eu preciso da instalação do php com as opções enable-debug e enable-maintainer-zts .

  • Download do pacote
  • ./configure --enable-maintainer-zts --enable-debug --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
  • e quando eu faço, os passos estão bem até eu chegar "Gerando phar.phar", onde o make parece estar preso

Na inspeção (com make -n), as etapas a serem executadas são

echo "Generating phar.phar"
rm -f ext/phar/phar.phar
rm -f /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/ext/phar/phar.phar
' if test -x "/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/sapi/cli/php"; then /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/build/shtool echo -n -- "/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/sapi/cli/php -n"; if test "x" != "x"; then /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/build/shtool echo -n -- " -d extension_dir=/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/modules"; for i in bz2 zlib phar; do if test -f "/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/modules/$i.la"; then . /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/modules/$i.la; /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/build/shtool echo -n -- " -d extension=$dlname"; fi; done; fi; else /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/build/shtool echo -n -- "/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/sapi/cli/php"; fi;' -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0' ext/phar/phar.php pack -f ext/phar/phar.phar -a pharcommand -c auto -x \.svn -p 0 -s /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/ext/phar/phar/phar.php -h sha1 -b "'/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/build/shtool echo -n -- "/usr/local/bin/php";'"  /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/ext/phar/phar/
chmod +x ext/phar/phar.phar
echo
echo "Build complete."
echo "Don't forget to run 'make test'."
echo

Eu corri o comando manualmente e em ps aux eu vejo,

 /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/sapi/cli/php -n -d open_basedir= -d output_buffering=0 -d memory_limit=-1 -d phar.readonly=0 -d safe_mode=0 ext/phar/phar.php pack -f ext/phar/phar.phar -a pharcommand -c auto -x \.svn -p 0 -s /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/ext/phar/phar/phar.php -h sha1 -b /usr/local/bin/php /usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11/ext/phar/phar/

e outro comando invocado por este comando,

 sh -c cd '/usr/local/PHP_5.5.11_INSTALLATION/php-5.5.11' ; pear -q info PHP_Archive 2>/dev/null|grep 'API Version'

Pelo que vejo, pear é um diretório na pasta php. Então o que está acontecendo aqui? Por que os argumentos estão sendo passados para ele?

Eu perdi algum passo? Preciso instalar o PEAR ou algo assim?

    
por Suvarna Pattayil 26.05.2014 / 13:38

1 resposta

0

Você não precisa implementar métodos difíceis de compilação. Você pode instalar o php 5.5 usando o repositório ppa: ondrej / php5 .

sudo add-apt-repository ppa:ondrej/php5

sudo apt-get update

sudo apt-get install <NEEDED PACKAGE1> <NEEDED PACKAGE2>
    
por user224082 26.05.2014 / 14:03