尽管display_errors在

时间:2018-01-20 12:20:40

标签: php

我的问题是我有一个网站,它没有被显示,当我摆脱我的PHP代码时,它显示,但没有显示任何PHP错误。

基于对其他问题的回答,我尝试了所有这些解决方案:

ini_set('display_errors', 1);
ini_set('error_log', 'phplog.log');
error_reporting(E_ALL);

并将php.ini中的display_errors设置为on,这在我使用phpinfo();时也会显示,据说这是另一个答案。那么为什么没有出现任何东西呢?

这就是我所拥有的: 的index.php:

<?php
  ini_set('display_errors', 1);
  ini_set('error_log', 'phplog.log');
  error_reporting(E_ALL);
  phpinfo();
    include("cubenex-api.php");
    include("php.ini")
    $connections = new Connections();
    $connections->connect();
    $user = new User($connections, "test");
?>

加载的html和css并不重要

和cubenex-api.php文件:

<?php
ini_set('display_errors', 1);
ini_set('error_log', 'phplog.log');
error_reporting(E_ALL);
class User{
    public $NAME, $STATUS, $SINCE, $SEEN, $FAVOURITE, $LOCATION, $BIRTHDATE, $ONLINE, $LANGUAGES;
    private $PASSWORD;
    public $RANK;
    public $PERMISSIONS;
    public $EMAIL;
    public $GUEST;

public function __construct($connections, $uuid){
    $pl = $connections->$players->query("SELECT * FROM profiles WHERE UUID = '".$uuid."'");
    if ($p->num_rows > 0){
        $p = $pl->fetch_assoc();
        $g = $connections->$players->query("SELECT * FROM general WHERE UUID = '".$uuid."'");
        $general = $g->fetch_assoc();
        $NAME = $general["NAME"];
        $RANK = $general["RANK"];
        $EMAIL = $p["EMAIL"];
        $STATUS = $p["STATUS"];
        $SINCE = $p["SINCE"];
        $SEEN = $p["SEEN"];
        $PASSWORD = $p["PASSWORD"];
        $FAVOURITE = $p["FAVOURITE"];
        $LOCATION = $p["LOCATION"];
        $BIRTHDATE = $p["BIRTHDATE"];
        $ONLINE = $p["ONLINE"];
        $LANGUAGES = $p["LANGUAGES"];
        $PERMISSIONS = new Permissions($RANK, $connections);
        $GUEST = false;
    }else{
        $NAME = "Guest";
        $PERMISSIONS = new Permissions("Guest", $connections);
        $GUEST = true;
    }
}
}

class Permissions{
    private $permissions;
    private $cons;

public function __construct($rank, $connections){
    $cons = $connections;
    $result = $connections->$website->query("SELECT * FROM permissions WHERE RANK = '".$rank."'");
    $permissions = explode(",", $result["PERMISSIONS"]);
}

public function __construct(){
    $permissions = array();
}

public function hasPermission($permission){
    return in_array($permission, $permissions);
}

public function givePermission($permission){
    array_push($permissions, $permission);
}

public function takePermission($permission){
    if (in_array($permission, $permissions)){
        unset($permissions[array_search($permission, $permissions)]);
    }
}

public function upload($rank){
    $cons->$website->query("UPDATE permissions SET PERMISSIONS = '".implode(",", $permissions)."' WHERE RANK = '".$rank."'");
}
}

class Connections{
    public $players;
    public $website;

public function connect(){
     $players = new mysqli("*******", "*****", "*****", "*******");
     $website = new mysqli("*******", "*****", "******", "******");
}
}
?>

我隐藏了mysql的登录详细信息,但我知道我使用的是正确且有效的。

2 个答案:

答案 0 :(得分:0)

  

包括(&#34;的php.ini&#34)

那有伤害!! 我不确定这是你唯一的错误,但该行肯定是错误的并且会使你的脚本崩溃

无论什么

删除

php.ini文件的路径是在你的php / server设置中定义的,这将根据你的系统而有所不同,但在任何情况下都不包括你脚本中的那个文件,php脚本可以是有效的,也就是它之后的半昏迷丢失

答案 1 :(得分:0)

您没有收到任何错误的主要原因是因为display_startup_errors已关闭。

include("php.ini")不是您的问题。 (虽然Nathanael提出了一个有效的观点,但是你可能没有正确地包含它。)如果你愿意,你可以很好地包含一个php.ini文件(记住它会处理它)作为PHP文件,而不是ini或配置文件)。 错误在于该行末尾没有分号(;)。如果设置了display_startup_errors,则会显示任何编译器时间警告和错误。