-
Laravel原生本地化不够用,必须用mcamara/laravel-localization包支持路由前缀、自动重定向、浏览器语言检测和SEO友好URL;App::setLocale()仅影响翻译上下文,不处理路由匹配、链接生成、语言继承等关键环节。
-
必须分别设置CURLOPT_CONNECTTIMEOUT_MS(如3000)和CURLOPT_TIMEOUT_MS(如10000)以实现双超时,仅用秒级选项或file_get_contents无法精确控制连接阶段超时,且需通过curl_errno区分CURLE_COULDNT_CONNECT与CURLE_OPERATION_TIMEDOUT。
-
PHP文件需经解释器执行,不可双击运行;方式一用内置服务器(php-S)适合调试;方式二用XAMPP等集成环境适合新手;方式三CLI模式直接执行脚本;方式四部署至生产服务器。
-
UltraEdit比对PHP文件仅做纯文本逐字节对比,不解析语法、忽略注释或空白,易漏语义差异;需手动设置忽略空格、换行符差异,并预处理注释、编码和调试代码。
-
XAMPP默认不记录POST请求体和关键请求头字段,需启用mod_logio与mod_headers模块并配置CustomLog;%I、%O和%{User-Agent}i等字段依赖对应模块,否则输出为“-”;POST内容须在应用层(如PHP)或通过mod_security审计日志获取。
-
phpEnv可直接复制迁移,但需修改config.json中php_path、mysql_data、www_root三处绝对路径,并修正mysql_data权限、my.ini路径、php.ini扩展配置及杀毒软件拦截问题。
-
PHP可在数据入库前实时校验空值与异常值,关键是在API入口(如/api/ingest)嵌入JSON解析、字段存在性检查、类型安全数值范围验证;对缓慢漂移类异常需借助Redis等外部存储实现滑动窗口统计。
-
必须用curl_init()而非file_get_contents(),因其支持302跳转和HTTPS;初始化后须设CURLOPT_URL、CURLOPT_RETURNTRANSFER、CURLOPT_FOLLOWLOCATION;POST需配合CURLOPT_POST与CURLOPT_POSTFIELDS;HTTPS要合理配置SSL验证;错误处理必查curl_errno()和curl_error()。
-
CMD输入php报“不是内部或外部命令”是因为PHP路径未加入系统PATH环境变量,需手动将XAMPP中php目录(如C:\xampp\php)添加至系统变量Path,并重启CMD验证php-v。
-
PHP本地环境发邮件失败时,可采用四种方法:一、用PHPMailer直连外部SMTP;二、Windows下配置FakeSendmail;三、通过XAMPP等集成环境的PEARMail模块;四、用MailHog本地捕获调试邮件。
-
Generator对象不能调用rewind(),因其是单向不可重置的迭代器,调用会抛出Fatalerror;需多次使用时应重新创建实例。
-
openssl_decrypt需先识别密文版本标识(如v1/v2)再选择对应密钥和IV,不可盲试;密文应结构化存储IV与tag,密钥须由KMS等外部系统动态管理,避免硬编码。
-
Yii框架XSS防护需按上下文精准选型:纯文本用Html::encode()编码特殊字符,富文本必须用HtmlPurifier白名单过滤;filter验证器不防XSS,防护关键在输出层而非输入层。
-
必须用DECIMAL类型存储小数,因FLOAT/DOUBLE存在二进制浮点精度误差;PHP读取时应保持字符串或启用原生类型,避免强转float或使用number_format再入库,计算须用BCMath。
-
静态资源加载缓慢应通过CDN加速、Nginx缓存头设置、前端URL切换、CDN分级缓存及Nginx本地proxy_cache五步优化:独立CDN域名接入并回源配置;Nginx为静态文件设1年expires与immutable;构建工具配置publicPath指向CDN;CDN按类型设30天/TTL=0缓存规则;Nginx启用proxy_cache减少回源压力。