Cara menggunakan php scandir exclude directories

Pada tutorial kali ini saya akan membahas mengenai cara compile PHP7 dari source codenya, beserta modul PHP-FPM yang nantinya akan digunakan untuk proses pada Nginx. Kenapa gak langsung install paket dari repository saja? Itu juga bisa, namun adakalanya kita memilih untuk menginstall dari source karena kita bisa memilih sendiri amna paket atau modul yang ingin dicompile dan mana yang tidak. Jadi tidak terlalu buang buang space.

Cara menggunakan php scandir exclude directories

Pertama, kita install terlebih dahulu dependensi yang digunakan untuk meng-compile source code PHP.
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
Selanjutnya kita buat direktori untuk menyimpan source dari PHP7. Agar tidak bingung, kita buat direktori PHP7 di /usr/local .
sudo mkdir /usr/local/php7
Lalu download source code dari github.
cd /usr/local/php7
git clone https://github.com/php/php-src.git
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

Cara menggunakan php scandir exclude directories

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-fpm
systemctl start php-fpm
Selanjutnya kita buat php-fpm langsung berjalan saat server di reboot.
 chkconfig --levels 235 php-fpm on
Terakhir, 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

Cara menggunakan php scandir exclude directories

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

Cara menggunakan php scandir exclude directories

Oke sekian tutorial kali ini, semoga bermafaat. Jika ada yang kurang jelas silahkan ditanyakan melalui kolom komentar.

Berbagi

Program filemanager dengan PHP tanpa DATABASE - Sebenernya masih belum bisa di sebut sebagai filemanager, dikarenakan fitur-fitur yang ada pada program ini masih belum lengkap. Hanya ada beberapa fitur saja yang sudah bisa di gunakan, di antaranya :

  • membuat folder baru (jumlahnya tidak terbatas selagi komputer kuat nampung).
  • mengunggah file (ukuran file dibatasi)
  • unduh file
  • delete file dan folder

Tujuan dibuatnya program ini untuk memanage data demo blog yang ada di server. Karena sedikit ribet (harus masuk cpanel dulu) kalau setiap saya mau memperbaharui demo saya di server. Program ini bukan sepenuhnya saya yang buat, saya hanya memperbaharui kodingan orang. Kodingan awalnya sudah pada error, mungkin karena versi php yang di gunakan berbeda :) . Anda bisa lihat yang pertama kali membuat kode ini, namanya saya cantumkan di akhir postingan ini :) .