PowerWeb 虛擬主機
2016年12月21日 星期三

PHP 5.4 開始 session_register() 出現錯誤訊息,解決方式



PHP 5.4 開始 session_register() 出現錯誤訊息,解決方式

如果使用虛擬主機當系統更新 PHP 版本後造成系統運行時出現錯誤訊息:「Fatal error: Call to undefined function session_register() in ........

該錯誤訊息說明 session_register() 已經不存在了,因虛擬主機更新至新系統 PHP 官方版本已不再支援舊函式,

如果沒辦法控制系統 PHP 運行版本時,則您必序更新系統中的 seession 撰寫方式,

原始 PHP session_register() 官方網站說明:http://php.net/manual/en/function.session-register.php

函式支援版本:

(PHP 4, PHP 5 < 5.4.0)

session_register — Register one or more global variables with the current session

session_register() accepts a variable number of arguments, any of which can be either a string holding the name of a variable or an array consisting of variable names or other arrays. For each name, session_register() registers the global variable with that name in the current session.


解決方式(一):更改 session 語法

 如:

session_register($variable)

更改為:

$_SESSION[$variable]

 


解決方式(二):自建 session_register 函式

如果 PHP 刪除了 session_register 函式,另一種解決方式就是..... 自行建立 session_register() 函式,在系統程式碼中加入下列片段:

 

  1. if (!function_exists('session_is_registered')) {
  2.     function session_is_registered($name) {
  3.         if (isset($_SESSION[$name])) {
  4.             return true;
  5.         } else {
  6.             return false;
  7.         }
  8.     }
  9. }
  10.  
  11. if (!function_exists('session_register')) {
  12.     function session_register() {
  13.         $args = func_get_args();
  14.         foreach ($args as $key) {
  15.             $_SESSION[$key] = $GLOBALS[$key];
  16.         }
  17.     }
  18. }
  19.  
  20. if (!function_exists('session_unregister')) {
  21.     function session_unregister($name) {
  22.         unset($_SESSION[$name]);
  23.     }
  24. }

---------------------------------

備註:上面程式碼片段建議使用在新系統中改用新版 PHP Session 寫法。

 

歡迎分享本文,轉載請註明出處【PowerWeb 虛擬主機/網頁空間】。



上一筆 回上頁 下一筆




POWERWEB 虛擬主機網頁空間 © 2004~2024 KangYu Inc. All Rights Reserved. 諮詢專線 0809-058-688 服務時間 週一~週五 09:00 ~ 18:00‧ 傳真電話 (02) 3322-9019
線上信用卡授權