PHP 开发中的常见问题

PHP 开发中的常见问题

很多初学者在学习PHP的过程中,都会遇到很多的问题。下面就大家常见的问题做了一个总结,希望能够对大家所帮助。
author
Wonderhows July 15, 2021

很多初学者在学习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);
comments powered by Disqus