Cara Compiling PHP 7 di CentOS

PHP 7  mengagumkan dan saya telah menggunakannya dalam produksi sekarang sekitar sebulan dan peningkatan kinerjanya, checkout fitur baru di PHP.net.

Alasan saya mengkompilasi PHP daripada menginstal dari repositori paket adalah saya menyukai kontrol atas tempat saya meletakkan binari dan juga bukan di repo dan belum lagi sebagai pengembang PHP kita sudah lupa bagaimana melakukan ini dan ada baiknya untuk diketahui. . Jadi mari kita mulai beraksi terlebih dahulu kita membutuhkan semua dependensi untuk mengkompilasi source code jadi di terminal anda

sudo yum install git gcc gcc-c++ libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel autoconf bison re2c libicu-devel

Ini akan menginstal paket pengembangan dan perpustakaan yang akan dibutuhkan. Selanjutnya kita membuat direktori dimana kita akan menempatkan PHP yang biasanya saya pilih ‘/ usr / local / php7’, daripada membuat sebuah direktori bernama ‘php’ saya menambahkan nomor versi yang saya instal melakukan hal ini akan membuat segalanya menjadi lebih mudah jika kita menginginkannya. Berbagai versi PHP terinstall jadi tipe

sudo mkdir /usr/local/php7

Sekarang kita membutuhkan kode sumber PHP yang saya dapatkan langsung dari repositori PHP Github sehingga berarti saya tahu dari mana kodenya berasal tapi saya juga bisa dengan cepat mengganti versi untuk dikompilasi dan juga mendapatkan rilis terbaru lebih mudah jadi pastikan Anda berada di root direktori home anda dengan cd

git clone https://github.com/php/php-src.git

Ini akan mendownload source code dan dimasukkan ke dalam direktori ‘~ / php-src’. Setelah selesai ganti direktori kerja anda dengan ini

cd php-src

Disini kita akan emmilih versi berapa yang akan kita install. Saya akan menginstall versi stabil terbaru yang pada saat tutorial ini dibuat adalah versi 71.6 .

cd php-src && git checkout PHP-7.1.6

Lanjut ke proses build.

./buildconf --force
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/conf.d --enable-bcmath --with-bz2 --with-curl --enable-filter --enable-fpm --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-intl --enable-mbstring --with-mcrypt --enable-mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --disable-phpdbg --disable-phpdbg-webhelper --enable-opcache --with-openssl --enable-simplexml --with-sqlite3 --enable-xmlreader --enable-xmlwriter --enable-zip --with-zlib
Jika semua nya oke, lanjut ke proses compile.
make && make install
Sekarang kita konfigurasikan PHP agar menggunakan PHP-FPM.
sudo mkdir /usr/local/php7/etc/conf.d

sudo cp -v ./php.ini-production /usr/local/php7/lib/php.ini

sudo cp -v ./sapi/fpm/www.conf /usr/local/php7/etc/php-fpm.d/www.conf

sudo cp -v ./sapi/fpm/php-fpm.conf /usr/local/php7/etc/php-fpm.conf
Selanjutnya kita aktifkan modul opcache. Agak berbeda dari step step saat kita install php-fpm dari paket di repository.
sudo nano /usr/local/php7/etc/conf.d/modules.ini
Selanjutnya masukkan baris berikut :

zend_extension=opcache.so
Untuk memudahkan, kita symlink juga php-fpm binary ke direktori /usr/sbin
sudo ln -s /usr/local/php7/sbin/php-fpm /usr/sbin/php-fpm
Buat juga systemd file nya .
sudo nano /usr/lib/systemd/system/php-fpm.service
Isinya :
[Unit] Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service] Type=simple
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/sbin/php-fpm –nodaemonize –fpm-config /usr/local/php7/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install] WantedBy=multi-user.target

Buat direktori tempat proses id dari php-fpm brjalan.

sudo mkdir /run/php-fp
systemctl start php-fpm
Selanjutnya kita buat php-fpm langsung berjalan saat server di reboot.
chkconfig --levels 235 php-fpm onTerakhir, kita buat symlink juga binary php ke direktori /usr/sbin
sudo ln -s /usr/local/php7/sbin/php /usr/sbin/php
Kita cek memaui terminal, versi php yang terinstall.
php -v

Untuk konfigurasi dengan nginx nya, sama saja dngan konfigurasi biasa. Hanya saja listen nya ke /var/run/php-fpm.sock

 

Rich Snippets
Published
Article
Cara Compiling PHP 7 di CentOS
Ratings
51star1star1star1star1star
Azizul Hakim

Satu-satunya sumber pengetahuan adalah pengalaman

Leave a Reply