通过源代码编译 PHP。卡在 phar.phar

通过源代码编译 PHP。卡在 phar.phar

我正在尝试通过源安装 PHP(版本 - 5.5.11),因为我需要带有enable-debugenable-maintainer-zts选项的 php 安装。

  • 下载了软件包
  • ./configure --enable-maintainer-zts --enable-debug --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
  • 当我执行 make 时,所有步骤都很好,直到我到达“Generating phar.phar”,make 似乎卡住了

检查(使用 make -n)要运行的步骤如下,

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

我手动运行了该命令,然后ps aux看到,

 /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/

以及由此命令调用的另一个命令,

 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'

据我所见,pearphp 文件夹中有一个目录。那么这里发生了什么?为什么要将参数传递给它?

我是否错过了某些步骤?我需要安装 PEAR 或其他东西吗?

答案1

您不需要实现复杂的编译方法。您可以使用以下方法安装 php 5.5:ppa:ondrej/php5存储库。

sudo add-apt-repository ppa:ondrej/php5

sudo apt-get update

sudo apt-get install <NEEDED PACKAGE1> <NEEDED PACKAGE2>

相关内容