Apache dan PHP Tidak Nyambung

Belum lama ini saya 2 kali ketemu masalah ini, sepertinya antara Apache dan PHP tidak nyambung. Saya tidak begitu paham dengan konfigurasi devops server dan lainnya. Cuma kejadian ini seperti mistis. Ada yang salah ketik command atau sengaja ngerubah config?

Kejadian #1

Kejadian pertama, apache dan php seperti tidak nyambung. Ketika saya akses domain misalnya domain.id, itu mengeluarkan file php namun seperti tidak dieksekusi oleh si PHP. Path sudah benar, Virtualhost pun sudah nyatu, tapi kenapa PHP tidak meng-eksekusi file php seperti biasa, dia (PHP) seperti tidak nyambung dan mengeluarkan kode php yang benar-benar tidak di eksekusi.

Jadi misalnya di dalam file PHP tersebut saya tulis “echo ‘adiputra’;”, maka si apache mengeluarkan mentahan “echo ‘adiputra’;”. Seharusnya kan hanya “adiputra” saja. Dengan asumsi tersebut “PHP dan Apache tidak nyambung”, saya diketemukan dengan stackoverflow berikut:

https://askubuntu.com/questions/451708/php-script-not-executing-on-apache-server

Setelah coba-coba akhirnya nyambung juga.

Saya coba satu persatu jalankan command.

Install:

sudo apt-get install apache2 php7.0 libapache2-mod-php7.0

Kode ini mendownload libapache2-mod-php7.0. dan anehnya ini ke-download lho, kok bisa hilang ya? haduh..

Verify:

a2query -m php7.0

Kode ini seperti mengecek, apakah mod library apache sudah sesuai dengan apache dan php yang telah terinstall. Pada kondisi ini, kemarin saya lihat bahwa mod library sudah cocok.

Load:

sudo a2enmod php7.0

Ketika sudah cocok, kita paksa apache untuk mengaktifkan mod php7.0. Dan lagi-lagi ini berhasil, (aneh, padahal dulu-dulu gak seperti ini, jalan mulus seperti biasa)

Setelah itu saya restart apachenya, dan nyambung lagi.. (ebuset, kok pada ilang gini)

Kejadian #2

Kejadian kedua ini mirip-mirip kaya kejadian #1, lebih parah lagi karena apache bener-bener mati dan seperti tidak terinstall. Ketika ketik perintah “service apache2 start” keluar bacaan “apache2 service not found“. #ebuset apalagi ini

Setelah cek sites-available apachenya, lebih ngeri lagi, ini config virtualhost terhapus semua. #luarbiasaini

Anehnya folder proyek (www/html) tidak dihapus, masih ada aman.

Saya coba cek history command, takut ada yang sengaja remove apachenya. Saya cek ternyata history tidak keliatan, hanya beberapa command yang terlihat. Penasaran tidak ketemu siapa yang menghapus atau kenapa ini terhapus, akhirnya saya install fresh kembali apache2 nya karena ada tim lain yang sedang mengecek aplikasi.

Setelah berhasil install apache2, penyakit di kejadian #1 muncul. Gak konek lagi. Bedanya adalah mod php 7.0 masih ada, ini gak ke uninstall. Jadi tinggal verify aja lalu load mod php7.0 nya.

Setelah load mod php7.0, ada notif yang baru saya lihat.

“Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.”

“Asik ketemu error lagi :)”,

gak enaknya ketemu error disaat orang lain sedang pakai atau cek. Apalagi jika klien atau atasan lagi cek juga.

Ilmu ask to google aja, copy error, dan tada..ada stackoverflow yang bantu:

https://askubuntu.com/questions/760787/php-rendered-as-text-after-ubuntu-16-04-upgrade

Baik kita coba jalankan satu-satu:

a2enmod php7.0

untuk menambahkan mod php7.0 ke apache.

Saya jalankan namun tidak berhasil. Lalu saya coba petunjuknya lagi.

The installation should switch from event MPM to prefork MPM automatically, but if it doesn’t, you can switch it manually by doing sudo a2dismod mpm_event followed by sudo a2enmod mpm_prefork

Baiklah, kita coba dan alhamdulillah berhasil.

Solving masalah kelar. Cuma keanehan kok bisa hilang apache dan config virtualhostnya masih jadi pertanyaan.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: