อัพ PHP เป็น version 7 on mac

อัพเดทกรณีที่ไม่ได้ใช้ XAMPP หรือ MAMP นะครับ

คำเตือน PHP7 จะไม่สามารถใช้ mysql_* ได้อีกต่อไป จะเปลี่ยนเป็น mysqli_* แทน

เช็ค version ของ PHP ก่อน โดยใช้คำสั่ง php -v จะได้ประมาณนี้

PHP 5.5.36 (cli) (built: May 29 2016 01:07:06)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

เร่ิมการอัพ โดยการรันคำสั่ง

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

เมื่อเสร็จแล้ว ให้เราเช็ค php -v อีกรอบ

PHP 7.0.10 (cli) (built: Aug 31 2016 10:25:51) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.10, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans

restart apache แล้วลองเรียก phpinfo()

ถ้ายังไม่ได้ ค่อยๆ แก้ไปทีละจุด

ตอนนี้ php ของเราจะอยู่ใน /usr/local/php5 ซึ่งจะ symbol link ไปที่ php5–7.xxxx

ls -l /usr/local/php5
/usr/local/php5 -> /usr/local/php5–7.0.10–20160831–102733
  1. หาก version ของ php -v กับ phpinfo() ไม่ตรงกัน ให้ยึด phpinfo() เป็นหลัก
  2. อัพเดทไฟล์ ~/.profile

เข้าไปแก้ไฟล์ ~/.profile

$ vim ~/.profile

แล้วใส่ไว้ในไฟล์ (ใส่บรรทัดล่างสุดก็ได้)

export PATH=/usr/local/php5/bin:$PATH

จากนั้นให้อัพเดท source ใหม่ที่เพิ่งใส่ไป

$ source ~/.profile

จากนั้นลอง php -v ดู

3. ให้เราเช็คว่า apache นั้นไปเรียก module ของ php ที่ path ใหม่รึยัง

$ vim /etc/apache2/httpd.conf

แล้วดูที่

LoadModule php5_module libexec/apache2/libphp5.so

ให้แก้เป็น

LoadModule  php7_module /usr/local/php5/libphp7.so

จากนั้นลอง restart apache ดู

index

folder php

/usr/local/php5

php.ini

/usr/local/php5/lib/php.ini

apache config

/etc/apache2/httpd.conf

mysql.sock

/tmp/mysql.sock

restart apache

$ sudo apachectl restart
ที่มา http://php-osx.liip.ch