
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 с php.net и скомпилировать его с помощью
$ ./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
Еще больше вариантов см .