-
php.ini的date.timezone是全局默认时区,PHP启动时读取该配置作为date()等函数的默认时区;未设置会触发警告;需用IANA时区名(如Asia/Shanghai),修改后须重启服务;date_default_timezone_set()可运行时覆盖,DateTime类支持显式时区绑定与转换,更安全可靠;CLI与Web环境可能加载不同php.ini,须分别确认或统一在代码中设置。
-
PHP无法直接处理密码保护的PPTX文件,必须先用LibreOffice(7.4+)或PowerPoint预解密;提取图片应手动解压定位ppt/media/,编辑后需严格维护XML关系,否则文件损坏。
-
真要“隐错”需分场景:开发期隐藏细节、生产环境防信息泄露、API统一返回格式;Laravel需APP_DEBUG=false且配置日志等级与通道;ThinkPHP6需同时关闭app_debug和show_error_msg;Slim需自定义错误处理器并过滤敏感字段。
-
PHP分页需手动加缓存,因LIMIT+OFFSET无法复用结果且性能差;应缓存分页元数据和数据块,用主键范围查询+Redis游标式缓存(如page:article:cursor_1280:size_20),避免OFFSET与COUNT(*)混用。
-
PHP的imagecropauto()函数会创建新图像资源,但不会继承原图的DPI设置,导致输出PNG默认降为96dpi;需在裁剪后显式调用imageresolution()恢复目标分辨率。
-
PHP静态网页字体颜色异常时,应依次采用内联样式、内部CSS、外部CSS、PHP变量动态输出及对比度验证五种方法解决,确保颜色值合法且符合WCAG可访问性标准。
-
CodeIgniter的辅助函数是独立的函数集合,用于处理字符串、表单、URL等任务。可通过$this->load->helper()加载内置或自定义辅助函数,如url_helper、form_helper,也可批量加载。自定义辅助函数需创建以_helper.php结尾的文件并放入application/helpers/目录,如my_helper.php中定义format_date()和generate_code()函数。加载后可直接调用,若需自动加载,可在autoload.php中配置hel
-
Windows下PHP环境开机自启有五种方法:一、注册Apache/Nginx为Windows服务;二、用任务计划程序触发启动;三、通过启动文件夹部署BAT脚本;四、修改注册表Run键值;五、使用NSSM封装为服务。
-
Laravel的FlashMessage未显示,通常是因为在控制器中错误地调用了session()方法(如$user->session()->flash()),而正确方式应使用全局Session门面或redirect()->with()方法传递一次性消息。
-
PHP数组赋值默认共享zval(写时复制),引用传递需传变量而非字面量,foreach引用后须unset避免悬空,推荐用对象封装替代裸引用。
-
微信公众号接收消息时必须先校验signature:将token、timestamp、nonce按字典序排序拼接后SHA1加密,与signature比对;GET请求含echostr时需原样返回并exit;POST消息须用file_get_contents('php://input')读XML,simplexml_load_string解析,并注意UTF-8编码、BOM及XML转义。
-
PHP8.5并不存在,当前最新稳定版是8.3,8.4尚在开发;原生RESTful接口需手动处理请求方法、JSON输入、响应头与状态码,路由应先用switch搭建骨架并调试。
-
OPcache需在PHP层面启用而非Apache配置,确认方法为执行php-m|grepopcache或查看phpinfo()中“OPcache”是否显示Enabled;关键配置包括memory_consumption≥256、max_accelerated_files>项目文件数、validate_timestamps=0、revalidate_freq=2(仅validate_timestamps=1时生效)、interned_strings_buffer≥16。
-
array_unique()是PHP一维数组去重的标准方法,但不支持多维数组;二维数组需按唯一字段(如id)手动去重,或序列化哈希;PHP8.3新增严格模式flag,注意版本兼容性。
-
宝塔面板更新失败因防火墙或安全组拦截出站HTTPS请求,需放行443端口、检查云安全组、临时禁用防火墙验证、替换DNS及hosts直连官方IP。