아파치 + PHP + pthreads 설치 방법

아파치 + PHP + pthreads 설치 방법

04 LTS 64비트.

제가 정말로 하고 싶은 것은 sudo apt-get install libapache2-mod-php5PHP를 컴파일하여 --enable-maintainer-zts나중에 pecl install pthreads. 슬프게도 나는 그것이 불가능하다는 것을 이해합니다. 가장 쉬운 방법은 Apache 지원 및 zts와 함께 PHP를 다시 컴파일하는 것임을 알고 있습니다. 그러나 저는 표준 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더 많은 옵션을 보려면 를 참조하세요 .

관련 정보