Tuesday, March 14, 2017

Instalasi XAMPP + PHP 7.1 + SQL Server di Server Windows

Seminggu kemarin coba setup PHP di server baru, penginnya sih coba pakai PHP 7 yang katanya lebih jos dalam performansi. Sekalian buat nambah pengalaman dan update temen2 di tim. Biasalah, termakan jargon dan bisik2 tetangga

sumber di sini

Kebenaran, eh kebetulan disediakan server fresh dan dipersilakan setup PHP dan lain2nya sendiri, ya sudah cucok rowo. OS : Windows Server 2008 64 bit. Oke seperti biasa Apache dan PHP pake xampp aja biar cepet.

Ternyata ketemu beberapa masalah, mungkin catatan ini bisa berguna buat yang lain, mungkin juga tidak, ah mungkin saja iya (optimis).

1. Pertama install xampp
Download di website XAMPP  versi terbaru saat itu (saya cek masih terbaru pada saat posting ini dibuat).  XAMPP for Windows menggunakan PHP 7.1,  yaitu file:xampp-win32-7.1.1-0-VC14-installer.exe, adanya memang hanya versi 32 bit. Ga masalah, Lanjut ....

Akhirnya masalah pertama keluar (jeng jeng jeng)....

Dalam instalasi XAMPP, keluar pesan
"The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing"



Buat mberesin masalah ini cukup makan waktu, kurang lebih sih ada dll yang kurang dan arahnya ke  Visual C++ Redistributable for Visual Studio 2015 (dari nama filenya VC 14 yang artinya menggunakan Visual Studio 2015).

Ah gampang, kan tinggal download dari website microsoft.
Ada beberapa versi, coba download yang paling baru (size juga paling besar) di sini: https://www.microsoft.com/en-us/download/details.aspx?id=53840

Dengan asumsi windows 64 bit download yang vc_redist.x64.exe, setelah download dan install coba running apache, error masih berulang. coba install yang vc_redist.x86.exe sama saja. Coba dibalik reinstall XAMPP, sama saja. Coba restart server (ciri khas Windows). Masih gagal. Googling sana sini sarannya kebanyakan masih terkait Visual C++ Redistributable package, nemu ada beberapa yang nyaranin buat windows update.

Akhirnya coba nyalain windows update, wadow banyak bener. Mana koneksi internet dari server lambat. Udah sempet mau pake PHP 5.6 aja lah :) tapi masa menyerah, itu bukan gaya saya (gaya saya pasrah kok :p). Windows update - restart - update - restart pakai remote desktop T_T dan pesan error masih sama. Hingga akhirnya update : Update for Windows (KB2999226) mayan besar dan putus2 berhasil. Kemudian coba lagi install xampp dan taraaaa.... apache dan PHP menyala dan keluar halaman localhost yang diharapkan sebagai berikut:


Hal biasa terasa lebih indah setelah mengalami hal yang tidak indah :), okay lanjut ke babak selanjutnya

2. Install driver Sql Server
Dari pengalaman yang sudah2 sih, harusnya ga ribet tinggal install driver sql server, copy ke folder ext di php. Biasa, download driver di : https://www.microsoft.com/en-us/download/details.aspx?id=20098  (nanti saya jelaskan kenapa saya coret)

tampak untuk PHP 7 pakai yang versi 4.0  "version 4.0 supports PHP 7.0+" , jadi saya download SQLSRV40.EXE.

Dan versi 4 ini butuh Microsoft ODBC Driver 11, download di:

Okay kemudian saya jalankan file SQLSRV40.EXE, dan ter extract banyak file dll. Biasanya nama file dibelakang ada TS (threadsafe) dan NTS (non-TS), bisa dilihat di phpinfo, kayak begini berarti pakai yang __ts.dll :


Sempet salah saya pakai yang php_sqlsrv_7_ts_x64.dll, ada pesan error. PHP Warning: PHP Startup: Unable to load dynamic library '\xampp\php\php_sqlsrv_7_ts_x64.dll' - %1 is not a valid Win32 application. in Unknown on line 0. Yup xampp nya kan versi 32 bit.

Okay ganti pakai  php_sqlsrv_7_ts_x86.dll, tidak lupa set di php.ini buat tambahkan extension dan restart apache. Eh masih keluar error. PHP Warning:  PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_sqlsrv_7_ts_x86.dll' - The specified procedure could not be found. Dll nya bermasalah, wadow.  Ini artinya driver sqlsrv nya belum berjalan, bisa dicek di phpinfo atau kalau coba running di script php biasanya akan keluar error seperti:
"Call to undefined function sqlsrv_connect()" , kasian ya tidak dikenali.

Apa salah saya, kan cuman ngikutin petunjuk ??!! skip skip skip, dah kebanyakan nulis ni, capek. Dapat link ini: https://github.com/Microsoft/msphpsql/releases

Okay ga pakai babibu, tapi pakai casciscus download yang Windows-7.1.zip, extract file
php_sqlsrv_71_ts.dll di folder Windows-7.1\x86 (yang 32 bit). Copy file ke folder php/ext dan edit php. ini di bagian extension: extension= php_sqlsrv_71_ts.dll, restart Apache dan at last, akhirnya finally eventually tampak tampilan yang diharapkan oleh kita semua.



Yesss, berhasil berhasil berhasil (Dora), hore hore hore (Tasya - libur telah tiba)
Semua senang semua bahagia. Apalagi saya, tulisan saya kelar juga. Kalau kamu ?


No comments: