很多初学者在学习PHP的过程中,都会遇到很多的问题。下面就大家常见的问题做了一个总结,希望能够对大家所帮助。
PHP 如果显示错误信息
错误日志是检查程序出错的第一工具。它能够给你提供非常完善的调度信息,让你迅速定位错误,快速修复bug。真所谓居家旅行,代码必备。PHP 也提供了非常完善的错误日志功能,那么如何让错误信息快速显示出来呢?可以通过以下几个方面:
使用 php.ini 文件显示错误信息
打开 php.ini
文件,找到并修改如下内容:
display_errors = on
然后重启你的服务器即可。
此配置将显示所有 php 错误信息
如何找到 php.ini
文件,可以参考这篇文章:php.ini 文件的位置
使用 php 函数显示错误信息
使用以下函数可打印出 php 错误信息。
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
但是使用函数方法仅仅能够显示运行时错误。如果 PHP 存在语法错误,需要错误日志追踪的话,可以参见上文找到并修改 php.ini
文件。
使用 .htaccess
文件显示错误信息
如果使用 Apache 服务器,通过配置 .htaccess
文件,也可以达到显示 PHP 错误信息的目的。
php_flag display_errors 1
使用命令行显示 PHP 错误信息
在命令行中输入如下命令也可以显示错误信息:
php -l index.php
使用try…catch 显示错误信息
try{
// Your code
}
catch(Error $e) {
$trace = $e->getTrace();
echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
}
PHP 获取当前时间
PHP 如何获取当前时间?PHP 提供非常方便的内置函数可以实现此功能。
第一步,设置时区timezone
date_default_timezone_set('Asia/Shanghai');
第二步,显示当前时间
$date = date('m/d/Y h:i:s a', time());
时间的格式还可以自定义,比如:
// 横线分隔:
$date = date('Y-m-d H:i:s');
// 斜线分隔:
$date = date('Y/m/d H:i:s');
// 返回
$date = '2012-03-06 17:33:07';
// 或
$date = '2012/03/06 17:33:07';
其中各字母表示如下:
Y: 4位数年份,如2012
m: 两位数月份,如03
d: 两位数日期,如06
H: 24小时制时针,如17
i: 分针
s: 秒针
PHP 获取当前页面地址(URL)
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
如果有https要求,可以如下:
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
PHP 返回 JASON 数据
在http返回时,在header中加入content-type
参数即可。
$data = /** whatever you're serializing **/;
header('Content-Type: application/json');
echo json_encode($data);