php教程技术文章
-
PHP本地多域名绑定需hosts映射、Web服务器虚拟主机配置及PHP代码识别HTTP_HOST;三者域名必须完全一致,否则导致502/404。364 收藏 -
PHP8命名参数必须位置参数在前、命名参数在后,不可混用变长参数,跳过默认值参数合法,但必需参数必须传值;支持构造器和静态方法,不支持动态调用与反射绑定。179 收藏 -
宝塔面板安装前须检查systemd状态、ip_forward开启及SELinux模式;优先选CentOS7+/Ubuntu20.04+;避坑镜像源、分区策略与装后三项关键配置。487 收藏 -
XAMPP虚拟主机配置失败主因是httpd-vhosts.conf未被加载或hosts映射失效;需取消httpd.conf中Include注释、验证语法httpd-t、在hosts添加127.0.0.1域名、配置独立VirtualHost块并设兜底localhost,且Directory中必须含Requireallgranted。355 收藏 -
宝塔面板开启OPcache需同时完成三步:安装opcache扩展、勾选性能调整中开关、确保php.ini含未注释的zend_extension=opcache.so且opcache.enable=1,最后重启对应PHP-FPM服务方可生效。163 收藏 -
PHPWAF并非官方标准组件,无法通过Composer安装,常见为单文件脚本,需手动include至入口顶部实现前置拦截,直接CLI运行会因缺失HTTP上下文报错。154 收藏 -
最稳方式是在每个需JSON的action开头设Yii::$app->response->format=Response::FORMAT_JSON,再return数组或Arrayable对象;需配置encodeOptions支持中文,防范循环引用导致空响应。273 收藏 -
phpEnv无法安装Plex,因其仅为PHP版本管理工具,而Plex是依赖系统服务、硬件加速和文件权限的独立媒体服务器,须通过官方安装包、Docker或插件方式部署。376 收藏 -
短链接还原失败主因是目标平台(如t.cn)拦截非浏览器请求,需设置真实User-Agent等cURL选项;t.cn必须调用微博官方API,不可硬解。305 收藏 -
嵌套with()调用会覆盖闭包条件,导致active=false记录混入;应统一在scopeWithActiveSubscriptions中注册所有关系并合并约束,避免多次with()拆分调用。471 收藏 -
必须核对php、phpize、php-config三者版本一致,否则扩展编译或加载失败;执行whichphp、php-v、whichphpize、phpize--version确认主版本号匹配,不一致需切换环境或重装对应php-devel包。308 收藏 -
phpenv适合教学场景,因其轻量可控、命令即效果,支持按目录切换版本并需验证php-v和php--ini确保生效,同时需禁用opcache/Xdebug并注意扩展兼容性。174 收藏 -
FileETag配置不影响多端口站点缓存行为,因其仅关联文件元数据(mtime、inode、size),与端口无关;不一致源于VirtualHost间FileETag指令未统一或跨卷路径导致inode不可比,应统一设为FileETagNone或MTimeSize。285 收藏 -
PHP重命名大小写文件需分两步:先改名至随机临时名,再重命名为目标名。函数rename_case_sensitive兼容多平台,自动处理冲突并保留权限,避免直接rename失败。327 收藏 -
PHP提取SQL语句需结合正则与AST分析:1.用preg_match_all初步捕获SELECT/INSERT等关键字语句;2.用php-parser构建语法树,遍历字符串节点并校验SQL前缀;3.借助sql-parser解析表名,区分源表与目标表;4.通过变量流追踪处理动态表名,对$_GET等运行时变量标记告警。260 收藏