-
端口被占导致Swoole启动报“Addressalreadyinuse”错误,根本原因是操作系统禁止重复绑定IP+端口;应先用netstat/ss(Linux)或netstat+tasklist(Windows)定位并kill对应PID进程,或稳妥更换为1024–49151间未占用端口。
-
应根据数据特性选择:纯静态数据用数组更轻量高效,带行为或需复用的数据用对象更可维护。二者可混合使用,优先保障语义清晰与团队协作效率。
-
VSCode调试的是PHP中MySQL交互逻辑而非MySQL服务本身;需检查连接错误、启用异常模式、断点查看真实SQL和参数、命令行验证查询、确认Xdebug配置正确、查阅PHP错误日志定位问题。
-
PHP中创建二维数组有五种方法:一、数组字面量直接定义;二、循环逐个追加关联子数组;三、键名指定方式手动添加;四、array_push批量插入;五、array_merge_recursive合并一维数组。
-
用header()实现301跳转需先查短码映射URL,校验后发送Location头并立即exit;推荐Redis+MySQL双层查询,短码用base62生成,URL参数值用rawurlencode编码,避免输出缓冲和服务器重写干扰。
-
Hyperf自动加载问题表现为类找不到、命令失败等,主因是PSR-4路径错误、缓存未清、命名不规范;需检查composer.json映射、统一大小写与命名、运行composerdump-autoload-o、清空Hyperfruntime缓存并验证class_exists。
-
array_merge(...$arr)是PHP7.4+性能最优的二维数组扁平化方案,但需预过滤非数组元素并确保$arr非空;若需保留字符串键,应改用$result+=$sub;避免call_user_func_array。
-
PHP接收GET中文参数乱码的根本原因是浏览器、URL传输、PHP文件编码及服务器配置四者不一致;需统一为UTF-8无BOM编码,前端用encodeURIComponent()编码,PHP无需额外解码,HTML和服务器配置也须同步设为UTF-8。
-
phpinfo()不可公开访问,因其会暴露PHP配置、扩展、环境变量、服务器信息等敏感数据,助攻击者精准利用漏洞;应删除或重命名相关文件,并通过Web服务器配置禁止访问,辅以CI/CD自动化检测与WAF兜底防护。
-
PDO需配合具体驱动(如pdo_mysql)才能工作;仅启用--enable-pdo不编译驱动会导致“couldnotfinddriver”错误;编译时必须显式指定--with-pdo-xxx参数,且mysqlnd是推荐的MySQL驱动。
-
Parse错误根本捕获不到,set_error_handler和try/catch都无效PHP的Parse错误(比如语法写错、少个分号、括号不匹配)发生在脚本加载和编译阶段,远早于运行时。此时set_error_handler还没注册,try/catch根本没机会执行——它们只对运行时错误(E_ERROR以上但非E_PARSE)起作用。常见错误现象:–页面空白,日志里只有PHPParseerror:syntaxerror,unexpected'}'in/p
-
模板引擎是PHP项目长期维护的关键,它通过统一语法层强制约束展示逻辑、自动转义防XSS,并根据框架生态(Laravel用Blade、Symfony用Twig、老系统用Smarty)选择最适配方案,配置时须确保绝对路径、禁用缓存、开启自动转义。
-
PDO默认不抛异常,需在构造时通过PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION显式启用;否则execute()等方法仅返回false,try/catch无法捕获。
-
正确提取路径应使用$_SERVER['REQUEST_URI']配合parse_url($uri,PHP_URL_PATH),注意Nginx需配置try_files,正则匹配须用1+避免贪婪,路由文件必须require_once确保报错中断,GET参数宜用http_build_query($_GET)安全透传。/↩
-
靠谱渠道是GitHub、GitLab或官网源码站;下载后须核验SHA256、限制目录权限、确认PHP扩展与版本匹配、检查数据库连接方式、启用重写规则、配置SMTP端口与协议、清除缓存并关闭调试模式。