Fixing phpMyAdmin – Error Cannot start session without errors

phpMyAdmin – Error
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

Hal inilah yang terjadi ketika saya mencoba menjalankan phpmyadmin di OpenSuse dengan webserver nginx dan menggunakan php-fpm. Lalu bagaimana cara membetulkan itu? Oya sebelumnya mungkin bagi para pemakai Chromium/Google Chrome, mungkin error seperti itu tidak terlihat/hanya terlihat sekali saja, dan ketika browsernya di refresh, maka tidak ada error apa-apa, berbeda sekali dengan browser Firefox. Lihat perbedaannya dari gambar berikut ini.
Dengan menggunakan firefox:

Dengan menggunakan google chrome:

Dan menurut saya ini adalah salah satu kekurangan dari Chromium/Google Chrome ini karena apabila saya sedang melakukan konfigurasi web server. Contohnya mengutak-atik konfigurasi dari nginx, dan saat melakukan pembacaan file php terkadang tidak pernah berhasil. Dan usut-punya usut pas mencoba di Firefox ternyata malah berhasil. Jadi kadang menjengkelkan emang. Jadi harus selalu melakukan clean cache chromenya dulu.
Oke balik lagi ke pembahasan sebelumnya untuk membetulkan error session tersebut. Ternyata masalah dari session itu apabila menggunakan php-fpm, si php-fpm tidak dapat melakukan penulisan session pada direktory /var/lib/php5. Untuk lebih jelasnya silahkan lihat konfigurasi dari php.ini:

[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
session.save_path = "/var/lib/php5"

Lihat dikonfigurasi php.ini, si php untuk membuat session, dia menggunakan direktory dari /var/lib/php5. Oke sekarang setelah itu mari kita lihat konfigurasi dari php-fpm-nya.

; Per pool prefix
; It only applies on the following directives:
; - 'slowlog'
; - 'listen' (unixsocket)
; - 'chroot'
; - 'chdir'
; - 'php_values'
; - 'php_admin_values'
; When not set, the global prefix (or /usr) applies instead.
; Note: This directive can also be relative to the global prefix.
; Default Value: none
;prefix = /path/to/pools/$pool

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = nginx
group = nginx

Lihat pada konfigurasi php-fpm, user yang saya gunakan adalah nginx. Oke sekarang mari kita lihat permission dari /var/lib/php5:

linux-yr22:~ $ su
linux-yr22:~ # ls -l /var/lib/ | grep php5
drwxr-xr-x 2 root root 4096 Mar 1 18:58 php5

Dan lihat ternyata dari tampilan di atas, terdapat perbedaan nama user. Pada konfigurasi php-fpm, saya menggunakan user nginx, sedangkan pada direktory /var/lib/php5 user yang digunakan adalah root. Oke sekarang mari kita betulkan hak aksesnya dari /var/lib/php5 ini:

linux-yr22:~ # chown nginx.nginx -R /var/lib/php5/
linux-yr22:~ # chmod 755 -R /var/lib/php5/ ## Berikan hak akses baca,tulis,eksekusi untuk user nginx.

Dan bagi yang bingung dengan pemberian hak akses 755 di atas, silahkan baca artikel saya sebelumnya http://imron02.blogspot.com/2012/01/hak-akses.html. Dan untuk chown itu sendiri adalah kepanjangan dari “Change Owner” atau mengganti user.
Nah sekarang yuk kita lihat hasilnya setelah hak aksesnya dirubah:

Waw dan sekarang saya telah berhasil membuka phpmyadminya di firefox dan tidak ada error lagi.. Oke gampang kan.. 😀

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s