【问题标题】:php function works in localhost but doesn't on the serverphp 函数在 localhost 中有效,但在服务器上无效
【发布时间】:2014-10-13 14:57:35
【问题描述】:

当我尝试将我的网站投入生产时,我收到一个错误,但在我的 wamp localhost 中一切正常。

错误 =>

  • 类型:错误异常
  • 代码:8
  • 消息:未定义的偏移量:0
  • 文件:*******/httpdocs/alliance/slimrest/datamanager/dm_utilisateur.php
  • 线路:20

Le 20 行是这段代码的最后一部分 =>

    $user = $o_utilisateur->getUserByLogPass($log, $pass);

    if(isset($user['0'])){
        //GET group BY user
        $tmp = $o_droit->getGroupById($user['0']['TB_groupe_id_groupe']);
        $user['0']['libele'] = $tmp['0']['libele'];

我可能是 PHP 版本?

  • 本地主机:PHP_VERSION = 5.5.12
  • 服务器:PHP_VERSION = 5.5.9-1ubuntu4.4

【问题讨论】:

  • 将所有出现的$user['0'] 更改为$user[0]
  • echo "<pre>"; var_dump($user); exit;

标签: php localhost


【解决方案1】:

您检查了isset($user['0']),但没有检查isset($tmp['0'])。问题一定出在$tmp 变量上,它没有0 键。

if(isset($user['0']) && isset($tmp['0']))

我不知道$tmp 应该包含什么,但由于某种原因它在您的生产服务器上不包含它。您需要检查创建$tmp 数组的任何代码,可能是数据库问题,您是否将数据库上传到生产环境?

【讨论】:

  • 谢谢,你是对的,问题是我的本地主机的 SQL 版本理解我的 SQL 请求( SELECT * FROM TB_rights )但服务器的 SQL 版本没有。我不得不将我的请求更改为:(SELECT * FROM tb_rights)。
猜你喜欢
  • 1970-01-01
  • 2020-07-02
  • 2013-01-25
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多