Mac下php 5升級到php 7的步驟詳解


前言

在MAC OS X 10.11中php的版本是5.5的,近來一年多里,看到了很多關於php7介紹,以為php7增加了很多新特性,也刪除了原來很多的老特性,所以一直以來並沒想去嘗試使用php7,但今天去php官網上認真的看了一下php7的新特性,發現其實php7最大的提升在於性能,雖然在語法上增加了很多新特性,但不影響開發,並且能很好的兼容以前php的代碼,在這里簡要的說明一下php7的新特性,具體的說明請移步到官網去看。

移除的一些特性

     1.移除一些舊的擴展,被移遷移到了PECL(例如:mysql_*)

     2.移除SAPIs的支持

     3.<?<? language=“php”這樣的標簽被移除了

     4.16進制的字符串轉換被廢除了

?
1
2
3
4
5
//PHP5
"0x10" == "16"
  
//PHP7
"0x10" != "16"

     5.HTTP_RAW_POST_DATA移除了(可以使用php://input替代)

     6.靜態函數里面不再支持通過一個不兼容的$this調用一個非靜態的函數了

        $o = & new className{} ,不再支持這樣的寫法

     7.php.ini文件移除了#作為注釋,統一用;去注釋

新特性

  • ZEND引擎升級到Zend Engine 3,也就是所謂的PHP NG
  • 增加抽象語法樹,使編譯更加科學
  • 64位的INT支持
  • 統一的變量語法
  • 原聲的TLS - 對擴展開發有意義
  • 一致性foreach循環的改進
  • 新增 <=>、**、?? 、\u{xxxx}操作符
  • 增加了返回類型的聲明
  • 增加了標量類型的聲明
  • 核心錯誤可以通過異常捕獲了
  • 增加了上下文敏感的詞法分析

說了這么多的廢話,進入主題吧。

升級步驟如下:

1、升級php(在終端下執行)

?
1
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

在終端下直到出現”Syntax OK”就說明安裝成功了。這個時候,用phpinfo()函數,你可以看到PHP Version 7.1.0alpha2

2、解決mysql鏈接的問題,由於php7拋棄了mysql的擴展函數(mysql_*),所有的鏈接mysql都要使用pdo,而php7的pdo_mysql.default_socket默認路徑是/tmp/mysql.sock,而mysql.sock的路徑在/private/var/mysql/mysql.sock,所以需要做一個軟連接到tmp文件夾,在終端下執行

?
1
2
cd /tmp
sudo ln -s /private/var/mysql/mysql.sock mysql.sock

如果解決以上錯誤,php鏈接數據庫時會提示:SQLSTATE[HY000] [2002] No such file or directory

3、重啟apache和mysql,這樣就可以啦!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM