由於PHP版本太舊,以前舊項目需要更新PHP版本,例如PHP5.6在兩三年前已經停止漏洞更新,所以直接升到最新的PHP8.0時,代碼出現的沖突情況,簡單總結一下解決方法︰
在新下載的PHP目錄中,有一個php.ini-production,先改名為php.ini,再開始下面設定︰
第一個
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in xxxxxxx.php:6 Stack trace: #0 xxxxxxxxx.php(2): include_once() #1 {main} thrown in xxxxxxxx.php on line 6
首先,mysql模組在PHP7以後就不支持了,所有的SQL語法要改為mysqli。
在php.ini取消註解mysqli
;extension=mysqli
改為
extension="C:\php-8.0.9\ext\php_mysqli.dll"
可以看看phpinfo()有沒有生效。
然後要將所有mysql_XXX改為mysqli_XXX︰
例如︰
- mysql_connect 改為 mysqli_connect
- mysql_error 改為 mysqli_error
- mysql_query 改為 mysqli_query
- mysql_query(XXX) 過往允許一個參數,到了mysqli_query後不允許,要改為兩個參數…
待續…
No comments:
Post a Comment