2012-06-26 68 views
-3

我已經嘗試過針對此問題提供的堆棧溢出解決方案,但無法真正解決此問題。PHP未定義索引錯誤 - 無法解決

我的工作別人寫的代碼。代碼如下所示

$web_user = $_SERVER["PHP_AUTH_USER"]; 
$file_name = $web_user.'_nefops_var_sel.tab'; 
$state['dumper_file_name'] = $file_name; 
$long_file_name = '/tmp/'.$file_name; 
$state['dumper_long_file_name'] = $long_file_name; 
$handle = fopen($long_file_name,'w') or die("bad file open"); 
fwrite($handle,$labels);  
fclose($handle); 

我越來越被 一個PHP錯誤遇到

嚴重的錯誤:請注意
消息:未定義指數:PHP_AUTH_USER
文件名:型號/ export_data_model.php
行號:26

有人可以幫助我的Wi這個。

回答

0

它告訴你究竟是什麼錯誤消息中的錯誤ID。

$_SERVER["PHP_AUTH_USER"]不存在。

+2

我相信這個問題的目的是**爲什麼**不存在? –

2

您收到的讓你知道,沒有在服務器超全局沒有這樣的鍵PHP_AUTH_USER錯誤。這意味着基本的HTTP認證,有時用於CGI或定義在apache等web服務器配置中,不可用/啓用。

PHP_AUTH_USER not set?

注意,錯誤級別是一個警告,所以它是不會,除非你有你的錯誤級別設置爲嚴格停止執行。

既然你說你是別人的代碼的工作,我會說這意味着代碼原本打算使用本地網絡服務器的認證,而不是使用數據庫的代碼中定義的驗證模型。如果要在其他位置部署此類應用程序,則需要找到替代方法,例如使用持久層創建自己的身份驗證機制。

文檔爲HTTP認證Apache下: http://httpd.apache.org/docs/2.0/howto/auth.html

2

['PHP_AUTH_USER']PHP documentation for $_SERVER狀態:

當這樣做時變量被設置爲通過所述用戶提供的用戶名HTTP認證。

那麼這告訴我,是沒有HTTP身份驗證發生。

我建議你上HTTP authentication with PHP閱讀起來。

+0

我最近開始使用PHP,所以不瞭解大部分內容。所以當你說在HTTP認證期間變量被設置了。我在哪裏可以檢查他們設置爲。我的意思是config.php文件或php.ini文件? – Siri

0

你得到一個通知,因爲你如果$ _ SERVER [「PHP_AUTH_USER」]被引用它之前設置不檢查。這只是一個通知,所以並不是那麼重要。