怎么打开php报错,网站服务器返回状态码500?
你的问题描述的不是很详细,我只能大概的推测一下:首先http协议5开头的状态码都表示服务器出现了错误,然后再来确定是服务器配置出现了问题还是代码出现了问题。服务端是不是仅返回500,而没有任何其他信息?如果返回了其他信息,其中是否有一些报错的具体信息(例如函数不存在,参数传得不对等等)。
如果没有返回其他信息,你是否打开了php的错误显示(在php.ini中error_reporting和display_errors的设置),如果打开了还没有任何错误提示,建议你再打开nginx的错误日志(在nginx.conf中做如下配置:error_log logs/error.log error;),去看看nginx的错误日志,一般都能找到原因。
php报错未定义全局变量?
PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
你想在函数内部访问外部变量,你需要这样:
$test = 123; abc(); //输出123 function abc(){ global $test; echo($test); }$test = 123; abc(); //输出123 function abc(){ global $test; echo($test); } PHP 要尽量不使用全局变量, 全局变量主要使用在项目中顶级的变量 中 比如 项目的目录路径, 数据库信息等 . 如果只是一个模块 中使用还是用参数传进去吧 对于你的代码 , 定义全局变量要接 global global $count=0;
php报错日志过大会影响效率吗?
肯定是会的,首先你报错日志不断变大,会把你的磁盘空间撑死,这样当然会磁盘空间不足,导致访问异常,还有如果你机子上弄了数据库什么的,数据库都会死掉的。
其次你报错日志要写进去就要打开,写入,你的文件很大,打开都会卡死程序,从而影响你的的服务器。
头顶为什么会莫名其妙出现这个?
通过 include() 或 require() 函数,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。除了它们处理错误的方式不同之外,这两个函数在其他方面都是相同的。include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。这两个函数用于创建可在多个页面重复使用的函数、页眉、页脚或元素。这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。include() 函数include() 函数可获得指定文件中的所有文本,并把文本拷贝到使用 include 函数的文件中。例子 1假设您拥有一个标准的页眉文件,名为 "header.php"。如需在页面中引用这个页眉文件,请使用 include() 函数,就像这样:
Welcome to my home pageSome text
例子 2现在,假设我们有一个在所有页面上使用的标准菜单文件。请看下面这个 "menu.php":Home
|About Us
|Contact Us
三个文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。这是 "default.php" 中的代码:Welcome to my home pageSome text
如果您在浏览器中查看 "default.php" 的源代码,应该类似这样:Home
|About Us
|Contact Us
Welcome to my home pageSome text
同时,当然,我们也将用相同的方法处理 "about.php" 和 "contact.php"。通过使用引用文件,在您需要重命名链接、更改链接顺序或向站点添加另一张网页时,只要简单地更新 "menu.php" 文件中的文本即可。require() 函数require() 函数与 include() 相同,不同的是它对错误的处理方式。include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。如果在您通过 include() 引用文件时发生了错误,会得到类似下面这样的错误消息:PHP 代码:错误消息:Warning: include(wrongFile.php) [function.include]:failed to open stream:No such file or directory in C:\home\website\test.php on line 5Warning: include() [function.include]:Failed opening 'wrongFile.php' for inclusion(include_path='.;C:\php5\pear')in C:\home\website\test.php on line 5Hello World!请注意,echo 语句依然被执行了!这是因为警告不会中止脚本的执行。现在,让我们使用 require() 函数运行相同的例子。PHP 代码:错误消息:Warning: require(wrongFile.php) [function.require]:failed to open stream:No such file or directory in C:\home\website\test.php on line 5Fatal error: require() [function.require]:Failed opening required 'wrongFile.php'(include_path='.;C:\php5\pear')in C:\home\website\test.php on line 5由于在致命错误发生后终止了脚本的执行,因此 echo 语句不会执行。正因为在文件不存在或被重命名后脚本不会继续执行,因此我们推荐使用 require() 而不是 include()。php程序一般怎么打log?
php没有log这个函数,一般都是手动使用echo来输出想要的数据. 另外可以开启php自身的输出,不过只能自动输出,提示,警告和错误