php教程技术文章
-
PHP密码存储必须用password_hash(),禁用md5/sha1;真加密用openssl_encrypt()(如AES-256-CBC),禁用ECB模式;base64_encode()仅为编码,无保密性。309 收藏 -
phpenv是纯命令行工具,无GUI、不打包Web服务器,安装仅三步:gitclone、配置shell文件、source重载;其核心机制依赖shim拦截,失效时应检查whichphp路径和phpenvinit是否生效。238 收藏 -
PHPEnv下延长session有效期需同步配置PHP-FPM的php_admin_value、确认存储后端(文件需可写且磁盘充足,Redis需设expire参数)、并重启对应FPM服务,仅改php.ini无效。196 收藏 -
str_shuffle()仅适用于ASCII字符串,UTF-8多字节字符需用preg_match_all('/./u')拆分后shuffle()再implode();需可重现结果时须手动设随机种子,且注意保留原始空白与不可见字符。425 收藏 -
启用strict_types=1可禁止函数参数和返回值的隐式类型转换,仅对当前文件直接定义调用的函数生效,需置于文件首行(前仅允许空白和注释)。135 收藏 -
PHP7.4并未弃用三元运算符的左结合性,而是弃用不加括号嵌套三元的警告抑制;PHP8.0+直接报错,因其按左结合解析为($a?$b:$c)?$d:$e,而非直觉的$a?$b:($c?$d:$e)。122 收藏 -
SublimeText3调试PHP必须用Debugger插件配合Xdebug3.x,需确保xdebug.mode=debug、端口9003开放、pathMappings正确、浏览器启用XdebugHelper且带调试参数,Sublime须从终端启动以加载正确php.ini。481 收藏 -
Xdebug3的xdebug.output_dir必须手动创建且确保PHP进程有写权限,否则trace/profile文件静默失败;它不自动创建路径,也不验证权限,常见于目录不存在、属主不符、SELinux/AppArmor拦截或子配置覆盖等情况。135 收藏 -
array_fill()用于创建指定长度并填充固定值的数组,支持负数起始索引,键为整型递增,可结合range或array_map模拟范围数组,常用于初始化配置、预分配空间及与array_combine构建关联数组。313 收藏 -
XAMPP默认不防DDoS,因其作为开发环境未预装启用mod_evasive等防护模块,httpd.conf中既无LoadModule指令也无相关配置,且仅基础安全检查不覆盖流量层攻击。312 收藏 -
PHP内存耗尽主因是代码或扩展缺陷而非memory_limit过低,需优先排查内存泄漏、禁用冗余扩展、优化脚本逻辑;调高limit须同步调整php-fpm子进程数防OOM。196 收藏 -
popen不能直接读取远程文件流,需借助curl或wget等命令;应检查系统命令可用性、PHP配置、权限,并处理SSL错误、超时及错误输出重定向。335 收藏 -
RSC是React框架中基于JavaScript/TypeScript的服务端组件模型,非独立语言,依赖JSX与ECMAScript特性,禁止客户端钩子,支持组件级async/await;其语法、运行机制及组件模型与PHP存在根本差异。348 收藏 -
terminate()方法必须由已参与请求生命周期的中间件执行,仅在$routeMiddleware中注册别名而未在路由中显式调用middleware('xxx'),则不会触发;它同步执行于响应发送后,适合轻量收尾操作,不支持返回值且不可抛异常。157 收藏 -
在Linux下打开PHP文件需按目的选择方式:用vim/nano/code等编辑器查看源码;用phpfile.php执行脚本;或通过php-Slocalhost:8000启动内置服务器、或配置Apache/Nginx访问。389 收藏