2013-12-10 42 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版本,如果是这样的话:重写您的脚本,使其与新版本顺利运行,然后迁移你的'生产'环境。