2013-07-15 45 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命令行并取第四列