2013-12-10 50 views
0

我已經複製了一個網站/數據庫到開發工作的DEV子域。我更新了所有的配置文件以指向正確的路徑。有兩個後端模塊。一個在dev站點上工作正常,但是,第二個(更重要的一個)不起作用。我可以打到後端登錄頁面,但是當我登錄後,它會變成空白的白色屏幕。在錯誤日誌中,這是我所看到的。網站後臺登錄錯誤

[10日 - 12月2013 7時46分21秒美國/丹佛] PHP說明:未定義變量:PHP_SELF在/home5/tkfoutw2/public_html/devwebrodder/admin/lib/page/login.inc第7行 [ 10-Dec-2013 07:48:32 America/Denver] PHP注意:未定義變量:PHP_SELF位於/home5/tkfoutw2/public_html/devwebrodder/admin/lib/page/login.inc第7行 [2013年12月10日07:51:04 America/Denver] PHP致命錯誤:調用未定義函數session_register()在/home5/tkfoutw2/public_html/devwebrodder/admin/lib/mod/user.mod在第20行 [10-Dec-2013 07 :52:56 America/Denver] PHP致命錯誤:調用未定義的函數session_register()在/home5/tkfoutw2/public_html/devwebrodder/admin/lib/mod/user.mod第20行 [10-Dec-2013 07: 54:15美國/丹佛] PHP致命錯誤:致電未定義的樂趣ction了session_register()在/home5/tkfoutw2/public_html/devwebrodder/admin/lib/mod/user.mod線20上

下面是從login.inc文件中的代碼的第7行錯誤:

<form action="<?php echo $PHP_SELF; ?>" method="post" name="" id=""> 

下面是來自user.mod文件中的代碼行20錯誤:

  session_register('userID'); 

任何幫助將不勝感激!

回答

0

我會仔細看看服務器/子域不工作,並將它與正在工作的服務器進行比較,它是否具有相同的PHP版本?將兩個服務器之間的設置與phpinfo()進行比較(如果它只是一個子域,但你永遠不知道,也許主機提供商正在慢慢轉向新的PHP版本,並且當你添加一個子域時使用新版本的東西?)

由於PHP 4.2.0版的「register_globals的」是「關」在默認情況下,所以$ PHP_SELF不可用,請嘗試使用$ _ SERVER [「PHP_SELF」]代替。

更多信息:http://uk.php.net/manual/en/language.variables.predefined.php

了session_register是一個古老的功能,不贊成PHP 5.3.0和去除PHP 5.4.0的。再次,它看起來像另一個子域上使用不同的版本。

更多信息:http://www.php.net/manual/en/function.session-register.php

我只想設置的值在會話中是這樣的:$ _SESSION [ '的myKey'] = 「myvalue的」; 確保已開始某處的會議在開始用在session_start()

也許最好的解決辦法是要真正確保你正在使用的所有服務器/子域相同的PHP版本。如果新創建的子域名具有較新的版本,請嘗試製作另一個子域名,並查看它是否也具有相同(更新版本)的PHP版本,如果是這樣的話:重寫您的腳本,使其與新版本順利運行,然後遷移你的'生產'環境。