결국 PHP를 배울 때 하위 계층을 배워야 하는데 오랫동안 C에 대해 모두 잊어버렸습니다. 공식 PHP7을 컴파일하는 방법을 알려주세요. http://php.net/downloads .php#...
결국 PHP를 배울 때 하위 계층을 배워야 하는데 오랫동안 C에 대해 모두 잊어버렸습니다. 공식 PHP7을 컴파일하는 방법을 알려주세요. http://php.net/downloads .php#...
<code>wget http://cn2.php.net/get/php-7.0.9.tar.bz2/from/this/mirror tar xvf mirror cd php-7.0.9/ sudo apt-get update sudo apt-get install libkrb5-dev \ libc-client2007e \ libc-client2007e-dev \ libcurl4-openssl-dev \ libbz2-dev \ libjpeg-dev \ libmcrypt-dev \ libxslt1-dev \ libxslt1.1 \ libpq-dev \ libpng12-dev \ libfreetype6-dev \ build-essential \ git \ make</code>
아래 ./configure에 누락된 오류가 있는 경우 위 명령에 lib-dev(el)
을 추가하세요.<code>./configure \ --prefix=/opt/php-7.0.9 \ --with-config-file-path=/opt/php-7.0.9/etc \ --with-zlib-dir \ --with-freetype-dir \ --enable-mbstring \ --with-libxml-dir=/usr \ --enable-soap \ --enable-calendar \ --with-curl \ --with-mcrypt \ --with-zlib \ --with-gd \ --disable-rpath \ --enable-inline-optimization \ --with-bz2 \ --with-zlib \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-mbregex \ --enable-exif \ --enable-bcmath \ --with-mhash \ --enable-zip \ --with-pcre-regex \ --with-pdo-mysql \ --with-mysqli \ --with-mysql-sock=/var/run/mysqld/mysqld.sock \ --with-jpeg-dir=/usr \ --with-png-dir=/usr \ --enable-gd-native-ttf \ --with-openssl \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-ftp \ --with-imap \ --with-imap-ssl \ --with-kerberos \ --with-gettext \ --with-xmlrpc \ --with-xsl \ --enable-opcache \ --enable-fpm</code>
그런 다음 컴파일을 시작합니다. 참고로 컴파일 머신의 메모리는 클 것입니다. 가상머신의 초기 1G가 부족해서 4G로 조정했습니다.
<code>make #或者根据你当前正在编译机器cpu核数调参数加速编译,比如我虚拟机是2核 make -j2 就可以同时跑2个job加速编译,编译了差不多15分钟</code>
그런 다음 설치
<code>sudo make install</code>
위의 접두어로 지정된 디렉토리(/opt/php-7.0.9/)에 php7을 설치합니다.
cli를 실행하여 버전 번호와 정보를 확인하세요.
<code>/opt/php-7.0.9/bin/php -v /opt/php-7.0.9/bin/php -i</code>
php-fpm 서비스를 실행하기 전에 관련 구성 파일을 제자리에 배치해야 합니다.
<code>sudo mv /opt/php-7.0.9/etc/php-fpm.conf.default /opt/php-7.0.9/etc/php-fpm.conf sudo mv /opt/php-7.0.9/etc/php-fpm.d/www.conf.default /opt/php-7.0.9/etc/php-fpm.d/www.conf sudo cp ./php.ini-production /opt/php-7.0.9/etc/php.ini</code>
fpm이 수신 대기하는 포트 수정:
<code>sudo vi /opt/php-7.0.9/etc/php-fpm.d/www.conf >;listen = 127.0.0.1:9000 >listen = /var/run/php7.0.9-fpm.sock</code>
그런 다음 sudo /opt/php-7.0.9/sbin/php-fpm 서비스를 시작하세요
마지막으로 nginx 구성에서
을 사용하세요.<code>fastcgi_pass unix:/var/run/php7.0.9-fpm.sock;</code>
그렇습니다.
16.04 LTS를 사용하는 경우 자체 PHP7 소프트웨어 패키지를 가져오세요
온라인에서 Linux编译PHP
검색하면 많은 결과를 얻을 수 있습니다. ./configure --help를 사용하여 매개변수 목록을 얻을 수 있습니다.
PHP 베타 버전이 나왔을 때 여러 번 컴파일했습니다. 컬, gd, iconv, json, mbstring, mysqlnd, pdo 등 일부 확장 프로그램을 설치해야 합니다. 그렇지 않으면 많은 프로그램에 문제가 발생합니다.
직접 컴파일하는 것이 낫습니다. 소프트웨어 패키지가 너무 오래되어서 버그가 보고되었을 때 오랫동안 복구되지 않았습니다