如何安装 apache + php + pthreads

如何安装 apache + php + pthreads

04 LTS 64 位。

我真正想做的是sudo apt-get install libapache2-mod-php5使用 编译 PHP,--enable-maintainer-zts以便以后可以使用 安装 pthreads pecl install pthreads。遗憾的是,我知道这是不可能的。我知道最简单的方法是将 PHP 与 apache 支持和 zts 一起重新编译。但是我真的很喜欢标准 Ubuntu PHP 包的配置方式,并且我习惯了 CLI php.ini 配置、Apache php.ini 配置的路径以及此 Ubuntu 包定义的模块和文件的其他路径。所以我只想稍微更改包源并安装它。

# Get the stuff necessary to build the package
sudo apt-get build-dep php5-common

# Get the package source
sudo apt-get source php5-common

此时我获取的不是 php5-common 包的源,而是整个 php5 包的源。如果我sudo make && make install此时获取源,是否意味着我安装了很多不必要的东西?

# Add configuration options
./configure --enable-maintainer-zts

这是否意味着我正在添加一个配置选项?还是我正在生成一个全新的配置?

此时可选择的方法有没有办法获取此包定义的配置选项,以便我可以从 php.net 获取 php 源代码并对其进行编译

$ ./configure  --prefix=package_prefix \ // Option 1 from package
--enable-embed \ // Option 2 from package
--with-regex=php \ // Option 3 from package

继续主要思想...

解决方案 1

# Compile (Not compiling)
sudo make && make install

此时,我是否可以使用所有内容来构建 PHP?如果我像这样进行编译,我将无法消除使用 造成的混乱sudo apt-get purge php5

解决方案 2

# ReCompile the package
dpkg-buildpackage -rfakeroot -uc -b

这也不能编译。请纠正我的步骤,以便我可以正确安装所有内容。

答案1

您可以像这样轻松获得选项(您可以在源包中查看,但这样工作量就少得多):

$ sudo apt-get install php5-dev
$ php-config --configure-options

--prefix=/usr --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 
--with-config-file-scan-dir=/etc/php5/apache2/conf.d --build=x86_64-linux-gnu 
--host=x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man 
--disable-debug --with-regex=php --disable-rpath --disable-static --with-pic 
--with-layout=GNU --with-pear=/usr/share/php --enable-calendar --enable-sysvsem 
--enable-sysvshm --enable-sysvmsg --enable-bcmath --with-bz2 --enable-ctype 
--with-db4 --without-gdbm --with-iconv --enable-exif --enable-ftp --with-gettext 
--enable-mbstring --with-pcre-regex=/usr --enable-shmop --enable-sockets 
--enable-wddx --with-libxml-dir=/usr --with-zlib --with-kerberos=/usr 
--with-openssl=/usr --enable-soap --enable-zip --with-mhash=yes --with-system-tzdata 
--with-mysql-sock=/var/run/mysqld/mysqld.sock --enable-dtrace --without-mm 
--with-curl=shared,/usr --with-enchant=shared,/usr --with-zlib-dir=/usr 
--with-gd=shared,/usr --enable-gd-native-ttf --with-gmp=shared,/usr 
--with-jpeg-dir=shared,/usr --with-xpm-dir=shared,/usr/X11R6 
--with-png-dir=shared,/usr --with-freetype-dir=shared,/usr 
--with-vpx-dir=shared,/usr --enable-intl=shared --without-t1lib 
--with-ldap=shared,/usr --with-ldap-sasl=/usr --with-mysql=shared,/usr 
--with-mysqli=shared,/usr/bin/mysql_config --with-pspell=shared,/usr 
--with-unixODBC=shared,/usr --with-recode=shared,/usr --with-xsl=shared,/usr 
--with-snmp=shared,/usr --with-sqlite3=shared,/usr --with-mssql=shared,/usr 
--with-tidy=shared,/usr --with-xmlrpc=shared --with-pgsql=shared,/usr

查看man php-config更多选项。

相关内容