-
phpEnv无一键修复功能,须用mysqlcheck命令批量检查:./mysqlcheck-uroot-p--check--all-databases;MyISAM表可--repair修复,InnoDB表需innodb_force_recovery导出重建,修复前务必手动备份数据目录。
-
belongsTo必须写在「多」方模型中,hasMany必须写在「一」方模型中;外键名、主键名不匹配时需显式传参;预加载需用约束式with()或withCount();多对多关系需规范中间表名和外键名。
-
堡塔云WAF能有效拦截中小规模CC攻击,但需手动安装启用、配置动态CC防护策略,并避免与宝塔内置流量限制冲突。
-
phpEnv是Windows平台图形化PHP集成环境,支持Apache/Nginx、多PHP版本共存及一键启停服务;phpenv则是类Unix系统下基于命令行的PHP版本管理工具,二者不可混用。
-
PHP版本不一致导致协作失败,需用.php-version+phpenv锁定项目级版本、composer.json中config.platform.php声明目标PHP版本、Docker镜像精确到小版本号,并确保团队同步提交配置。
-
调用微信小程序码接口前必须确认:1.已获取并缓存有效access_token(2小时有效期);2.小程序已正式上线(开发版/体验版不支持);3.path参数为已配置的真实页面路径(不含查询字符串,参数须放scene字段)。
-
phpEnv本身不处理Order/Allow/Deny配置,实际由所选Apache版本决定:Apache2.2用Orderallow,deny等旧语法,Apache2.4必须改用Requireallgranted等新指令,版本混淆会导致500错误或启动失败。
-
phpenv命令行输出全是英文,因其为纯Shell脚本,所有文本硬编码且无i18n支持;第三方中文界面(如phpenv.cn、phpEnvforWindows)与原生phpenv无关。
-
eval()动态创建类极危险,因直接执行字符串代码,输入可控即导致远程代码执行(RCE),如URL参数注入可写入WebShell;PHP8.1+加警告但不阻止,OPcache缓存难清除,静态分析失效。
-
不能直接用peclinstallimagick,因PHP8.1自编译环境常缺MagickWand.h头文件或php-config不匹配,导致configure报错;必须先装libmagickwand-dev(或ImageMagick-devel)和php-dev(或php-devel),再手动phpize、configure指定--with-php-config和--with-imagick路径,并启用--enable-imagick-shared编译.so。
-
MySQL5.7+默认启用ONLY_FULL_GROUP_BY导致GROUPBY报错1055,需通过临时会话设置、永久配置修改或重写SQL(如用ANY_VALUE或补全GROUPBY)解决,推荐后者以保障结果确定性与线上兼容性。
-
PHP分组统计推荐用foreach手动构建数组,因其逻辑清晰、兼容性好、可控性强;array_reduce适合函数式链式处理但调试难;数据库GROUPBY最高效,应优先使用。
-
Laravel性能优化需协同配置高性能缓存驱动、智能查询缓存、Eloquent查询级缓存、MemoizedStore内存缓存及数据库索引优化。
-
Passport配置关键在正确初始化密钥和客户端:必须先执行phpartisanmigrate创建oauth_clients等表,再运行passport:install生成可读权限的密钥文件,User模型需继承Authenticatable并使用HasApiTokens,密码授权还需单独创建password类型客户端。
-
在Laravel中扩展Artisan命令需五种注册方式:一、用make:command生成并配置命令类;二、手动添加至Kernel的$commands数组;三、通过服务容器绑定实现依赖注入;四、在自定义服务提供者boot()中注册;五、用闭包命令快速定义轻量指令。