Belum lama ini apple merilis sistem operasi baru (Operation System) Mac OS X Sierra. Banyak fitur-fitur baru yang ditawarkan dalam sierra ini. Bagi para developer Web, ternyata web server apache bawaan OS ini adalah versi 2.4 dengan PHP versi 5.6.24. Masalah yang sering timbul ketika update OS X salah satunya adalah service MySQL yang harus dikonfigurasi lagi karena tidak autostart (berjalan otomatis), sehingga perlu di konfigurasi lagi daemon mysqlnya supaya di load saat OS X startup.
Penasaran dengan OS X Sierra ini, akhirnya saya melakukan upgrade OS Macbook Pro. Selain harus mengkonfigurasi ulang service mysql, permasalahan yg timbul adalah extension Mcrypt atau extension yang biasa digunakan untuk mengenkripsi dan merupakan requirement jika kita mengembangkan web dengan framework Laravel ternyata tidak built in di PHP 5.6.24.
Untuk itu, kita harus melakukan compile dan build extension mcrypt secara manual agar dapat di load di PHP. Berikut ini merupakan langkah-langkanya agar ekstensi / library mcrypt dapat di jalankan:
Install Command Line Tools
caranya buka terminal / console ketikkan perintah berikut :xcode-select --install
Disabled SIP / rootless
nonaktifkan System Integrity Protection (SIP) untuk mengijinkan akses terhadap folder sistem yg diproteksi. Kita tidak dapat menonaktifkan SIP ini dengan normal boot harus dari recovery boot. Berikut ini caranya:
- Restart Mac OS X
- Masuk ke Recovery Booting (pada saat bunyi startup chime, tekan Command + R secara bersamaan sampai masuk ke recovery booting)
- Pilih Utilities -> Terminal
- Ketika masuk jendela terminal, ketikkan :
csrutil disable
Download libmcrypt dan PHP
Download libmcrypt 2.5.8 dan PHP 5.6.24 sesuai dengan versi php built in.
Buat folder atau direktori mcrypt di home directory dan pindahkan hasil download ke dalam folder itu.
cd ~/ mkdir mcrypt cd mcryptEkstrak hasil download dan remove file gz
tar -zxvf libmcrypt-2.5.8.tar.gz tar -zxvf php-5.6.24.tar.gz
rm *.gz
Konfigurasi libmcrypt
cd libmcrypt-2.5.8 ./configure make sudo make install
Install Autoconf
cd ~/mcrypt curl -0 http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz cd autoconf-2.69/ ./configure make install sudo make install
Compile ekstensi libmcrypt pada PHP
cd ../php-5.6.24/ext/mcrypt/ /usr/bin/phpizeKira-kira outputnya seperti ini :
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
./configure make sudo make installHasilnya kira-kira seperti ini:
Installing shared extensions: /usr/lib/php/extension/no-debug-non-zts-220131226
Mengaktifkan mcrypt di ekstensi PHP (mcrypt.so)
Buka php ini (/etc/php.ini), pastikan extension_dl = on dan tambahkan baris berikut di akhir file:extension=mcrypt.soJika file php.ini tidak ada, lakukan hal berikut:
sudo cp /etc/php.ini.default /etc/php.ini sudo chmod u+w /etc/php.ini
Finally restart apache
sudo service apache2 restart
0 Komentar