我的问题是我有一个网站,它没有被显示,当我摆脱我的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的登录详细信息,但我知道我使用的是正确且有效的。
答案 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
,则会显示任何编译器时间警告和错误。