-
使用json_encode($data,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE)可格式化输出并保留中文,支持混合数组结构处理,提升JSON可读性与字符显示效果。
-
网站并发限制需协同调整Nginxworker_connections、PHP-FPMpm.max_children及系统ulimit-n三者:前者设Nginx总连接上限,中者控PHP进程数,后者防文件描述符不足;任一缺失将导致限流失效。
-
PHP中foreach遍历数组时,值变量赋值不改变原数组;使用引用修改需谨慎,避免循环中增删元素导致迭代器失步;推荐用array_map、for循环或先收集键再赋值等更安全方式。
-
宝塔面板中PHP8.4内存异常升高可通过五步优化:一、精简扩展,仅保留opcache等必需项;二、调优PHP-FPM进程参数;三、启用并配置OPcache;四、限制单脚本memory_limit为256M;五、禁用Xdebug等调试模块。
-
MySQL启动失败主因是my.cnf含不兼容参数,需先确认版本、清理无效配置、校验文件加载顺序,并合理设置innodb_buffer_pool_size与max_connections等核心参数。
-
PHP不能直接检测多节点服务器架构。它只能通过exec调用lscpu/numactl间接判断NUMA节点数,或用gethostname/gethostbyname辅助识别集群部署环境,无法获取物理拓扑、RDMA或跨CPU互联状态。
-
PHP无法跨平台获取文件创建时间,因Linux/macOS文件系统不存储birthtime,filectime()在Windows返回创建时间但在Linux返回状态变更时间,跨平台应改用filemtime()或主动记录时间戳。
-
首先检查字符串是否符合JSON格式,确保使用双引号、无多余逗号和小写布尔值;接着处理特殊字符转义,替换非法反斜杠和引号,并用json_last_error定位错误;然后确认字符串为UTF-8编码,必要时通过mb_convert_encoding转换;再清理输入源中的空白、BOM头和控制字符;最后可重构数组并重新编码为合法JSON。
-
宝塔新建站点打不开需分三步排查:先检查Nginx/Apache是否运行及配置语法(nginx-t)、再确认系统防火墙与云厂商安全组端口放行、最后验证域名解析、PHP-FPM状态及HTTPS证书路径与重定向配置是否正确。
-
WAMP环境下执行和访问PHP文件,需确保WAMP服务正常运行(图标为绿色),将PHP文件放入www目录或其子文件夹中,通过浏览器访问localhost/文件路径即可;若图标非绿色,常见原因为端口冲突或服务启动失败,可通过测试端口、查看错误日志、修改Apache端口或关闭占用程序解决;WAMP支持切换PHP版本和启用扩展,通过菜单操作并重启服务生效;对于多项目开发,推荐配置虚拟主机,实现项目隔离与自定义域名访问,提升开发效率与环境模拟真实性。
-
必须用header('Content-Type:application/json;charset=utf-8')设置响应头,且需在任何输出前调用;json_encode()应至少启用JSON_UNESCAPED_UNICODE和JSON_THROW_ON_ERROR;注意BOM、空格、服务器缓冲及CDN干扰。
-
mysqli_num_rows返回结果集行数,仅适用于SELECT等查询;对INSERT/UPDATE/DELETE返回0;若未缓冲结果集或未调用mysqli_store_result(),即使有数据也返回0。
-
PHPsession无法保存主因是session.save_path权限不足、模块未启用或配置被覆盖、session.auto_start关闭及代码输出干扰。需检查phpinfo()中的路径可写性、确认session扩展已加载、确保session_start()前无任何输出,并排除cookie域匹配、HTTPS设置及opcache缓存等问题。
-
需手动修改MySQL配置将tmpdir迁至高性能磁盘:先查当前值,再编辑my.cnf设新路径,SELinux系统需赋权,检查挂载选项与磁盘空间,最后重启服务验证。
-
PHP中字符串编码不一致会导致strtotime()解析失败,因其只按字节流处理且不识别编码,须先用mb_convert_encoding()统一转UTF-8再解析。