
04 LTS de 64 bits.
Lo que realmente me encantaría hacer es sudo apt-get install libapache2-mod-php5
compilar PHP --enable-maintainer-zts
para luego poder instalar pthreads con pecl install pthreads
. Lamentablemente entiendo que no es posible. Sé que la forma más sencilla es recompilar PHP junto con el soporte de Apache y zts. Sin embargo, realmente me gusta la forma en que está configurado el paquete PHP estándar de Ubuntu y estoy acostumbrado a las rutas para la configuración CLI php.ini, la configuración Apache php.ini y otras rutas para módulos y archivos que define este paquete Ubuntu. Así que sólo quiero cambiar un poco la fuente del paquete e instalarlo.
# 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
En este punto, obtengo fuentes no para el paquete php5-common sino para todo el paquete php5. Si lo hiciera sudo make && make install
en este momento, ¿significaría que estoy instalando muchas cosas innecesarias?
# Add configuration options
./configure --enable-maintainer-zts
¿Esto significa que estoy agregando una opción de configuración? ¿O estoy generando una configuración completamente nueva?
Alternativa en este punto¿Hay alguna manera de obtener las opciones de configuración que define este paquete, de modo que pueda tomar una fuente php de php.net y compilarla con
$ ./configure --prefix=package_prefix \ // Option 1 from package
--enable-embed \ // Option 2 from package
--with-regex=php \ // Option 3 from package
Siguiendo con la idea principal...
Solución 1
# Compile (Not compiling)
sudo make && make install
¿Estaré construyendo PHP con TODO en este momento? Si compilo así, ¿no podré eliminar el desorden que hice usando sudo apt-get purge php5
?
Solución 2
# ReCompile the package
dpkg-buildpackage -rfakeroot -uc -b
Esto tampoco se compila. Corrija mis pasos para poder instalar todo correctamente.
Respuesta1
Puede obtener las opciones fácilmente de esta manera (puede buscar en el paquete fuente, pero esto requiere mucho menos trabajo):
$ 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
Consulte man php-config
para conocer aún más opciones.