-
PHP连数据库90%是配置或权限问题:先查Connectionrefused/Unknownhost确认网络层,再查Accessdenied核对账号密码和主机限制,MySQL8+需处理caching_sha2_password兼容性,连接后注意选库、字符集及资源释放。
-
YiiRESTful接口应抛出对应HttpException而非手动设状态码,因响应头发送后状态码不可改,且控制器行为与错误处理器已自动处理;正确做法是throwNotFoundHttpException等,由errorHandler统一格式化响应。
-
PhpDesigner字体设置分编辑器与UI两级:【视图】→【字体】调代码区字体(需输数字大小并回车确认),菜单等界面文字需通过Windows高DPI设置调整,且项目级project.pds文件会覆盖全局配置。
-
PHP自动类型转换在松散比较、算术运算、布尔判断等场景触发,如"abc"转0、"5"+"3.2abc"得8.2;常见坑包括"0"为true而0为false、array()==null为true;应优先使用===、主动校验类型、用户输入及时强转并验证。
-
PHP本地多域名绑定需hosts映射、Web服务器虚拟主机配置及PHP代码识别HTTP_HOST;三者域名必须完全一致,否则导致502/404。
-
PHP向数组添加值有五种常用方法:一、用[]语法追加至末尾;二、用array_push()函数追加一个或多个值;三、用+运算符合并关联键值;四、用array_unshift()在开头插入;五、用$arr[$key]=$value显式指定键名赋值。
-
Apache多端口无法通过局域网IP访问的主因是Listen与VirtualHost端口不匹配、权限未逐层配置、防火墙未放行自定义端口及MySQLbind-address限制;需逐一验证监听、路由、权限、防火墙和数据库绑定配置。
-
XAMPP默认仅监听80端口,需手动修改httpd.conf添加Listen8080、Listen8081等行,并配置对应VirtualHost块指定独立DocumentRoot和AllowOverrideAll,才能实现多端口部署Phalcon应用。
-
phpenv通过shims机制动态路由php命令,而非手动替换二进制;支持global(全局)、local(项目级)和shell(会话级)三级版本切换,优先级为shell>local>global,依赖正确初始化(eval"$(phpenvinit-)")和PATH配置。
-
Swoole客户端不支持原生SSL,需用swoole_http_client或swoole_websocket_client实现TLS;若需mTLS则须用PHPstream_socket_client手动封装。
-
PHP里没有原生事件循环,别硬套Node.js那套PHP默认是同步阻塞模型,event扩展或Swoole是少数能真正跑事件循环的路径。直接用pcntl_fork或stream_select模拟“事件驱动”,往往只是轮询加回调,本质还是同步,性能和可维护性反而更差。常见错误现象:call_user_func_array套一堆监听器,但所有回调都在一次HTTP请求生命周期内顺序执行,没并发、没延迟、没事件队列——这叫“观察者模式”,不是事件驱动。真需要事件驱动:上Swoo
-
Nginx重启报“pid文件丢失”需依次检查进程状态、修复pid路径与权限、命令行强制启动、排查面板脚本兼容性、重载服务注册。
-
宝塔面板磁盘爆满时,应先用df-h定位高占用分区,再通过du命令逐级扫描/www等目录,结合find查找大文件,并用日志清理工具或清空回收站安全释放空间。
-
首先启动KSWEB的Apache和PHP-FPM服务,确保两者运行正常后,将PHP源码上传至/storage/emulated/0/www/htdocs目录,可通过文件管理器或KSWEB内置上传功能完成;若项目涉及数据库,需启动MySQL服务并配置php.ini参数及数据库连接信息,主机为127.0.0.1,端口3306,用户名密码均为root;最后在浏览器访问http://127.0.0.1:8080/对应路径测试页面,若出现错误可查看KSWEB日志进行排查。
-
CDN会缓存404响应因其默认对错误状态码(如404、403、500)进行短时缓存以减轻源站压力,导致页面恢复后用户仍见“NotFound”;需在后端响应中强制添加Cache-Control:no-store等头禁用缓存,并在CDN层刷新对应路径而非仅URL。