2013-07-15 43 views
1

我試圖在RHEL 6服務器上安裝PHP LDAP Admin,http://phpldapadmin.sourceforge.net。我有適當的文件和配置爲htdocs的Apache虛擬主機指令。PHP LDAP管理員 - 未定義變量:_SESSION

我得到的錯誤是:

Notice: Undefined variable: _SESSION in /path/to/pla/lib/page.php on line 381 Fatal error: 
Call to a member function getValue() on a non-object in /path/to/pla/lib/page.php on line 381 

PHP(5.4.13)在服務器上運行,並且會話是沒有問題的其他地方。我將我的git存儲庫克隆到OSX開發框中,並在那裏工作。我再次檢查並調用session_start()。

+0

我已經確定,當克隆git的配置文件時,config.php文件被排除(因爲它應該是),但奇怪的錯誤,因此。我添加了config.php文件,一切都很好。 – Marty

+0

你的'config.php'顯然包含_____。正因爲如此,你的錯誤消失了。第381行發生了什麼? – BLaZuRE

+0

內核381:'if($ _SESSION [APPCONFIG] - > getValue('appearance','minimalMode')){'我會期望像一個未定義的偏移量。 – Marty

回答

1

我有同樣的問題,最後我解決它只是把config.php文件 在正確的文件夾(phpldapadmin /配置)...真的愚蠢的錯誤

4

如果httpd的是根據Apache組運行:

chgrp apache /etc/phpldapadmin/config.php 
1

我有同樣的問題(Ubuntu 14.04)。

我更改了usr/share/phpldapadmin/config.php的權限,並解決了這個問題。

這已經回答了harveyzh但這個答案是對Linux的菜鳥和我一樣:)

0

偏偏在大多數情況下,更新 和Apache(或PHP5-FPM!)後不使用默認的用戶運行。

只需將運行Apache2(或php5-fpm!)的用戶添加到系統組「www-data」(debian),然後重新啓動服務apache並使用php5-fpm。

得到了用戶的Apache作爲運行:

~# sed -rn 's/^User (.+)/\1/p' /etc/apache2/apache2.conf 

記住: 更改權限回購維持文件是一個壞主意。 只有在下一次更新修復爲默認值時纔會生效...

0

我也遇到了同樣的問題,我們剛剛更改了phpldapadmin config.php文件的組名。它爲我工作。

chgrp命令阿帕奇/etc/phpldapadmin/config.php

0

使用帶的Apache2 的組名在我的情況chgrp GNU命令是:www-data

所以你需要做這樣的:

chgrp www-data /etc/phpldapadmin/config.php 

要找到config.php的組名稱,您應該使用ls -l命令行並取第四列