-
Hyperf安装需确保PHP≥8.1、Swoole/Swow引擎适配系统、必需扩展启用;推荐Docker部署,macOS本地或WSL2开发;启动后需手动重启或装watcher热重载,禁用xhprof等不兼容扩展。
-
必须自定义PHP编译参数才能安装未预编译扩展(如swoole、yaf、phalcon)或调整底层行为(如启用JIT、修改内存模型)。具体有四套方案:一、通过面板源码编译界面勾选“自定义编译参数”并逐行填写configure选项;二、手动编辑宝塔编译脚本/php.sh,在./configure命令末尾追加参数;三、创建外部参数文件并通过修改脚本读取注入;四、编译后用phpize独立构建扩展并配置ini启用。
-
PHP框架中权限控制通过RBAC模型、权限验证中间件、路由绑定权限标识、策略类和多守卫隔离五步实现:定义用户-角色-权限三表关系;创建CheckPermission中间件校验路由所需权限;在路由中声明permission键;用PostPolicy等策略类处理实例级权限;配置admin/web双守卫隔离权限上下文。
-
最稳妥方案是用openssl_encrypt配合AES-128-CBC或AES-256-GCM加密json_encode后的字符串,key和iv必须严格符合长度与随机性要求,加密后base64编码传输,解密时顺序执行反向操作并校验参数一致性。
-
PHP低版本兼容需先定位不支持的函数/语法,再封装兜底逻辑:如json_decode加JSON_THROW_ON_ERROR检测、用cURL替代Guzzle、降级JWT库至v5.5.1,并用真实数据全流程测试。
-
Gregwar/Captcha在PHP8.5下需启用GD扩展、设置ini_set('gd.jpeg_ignore_warning',1)、手动启动session并显式存取验证码值,否则会报错或返回空白/模糊图片。
-
PHP数组是MVC中贯穿模型、视图、控制器的通用数据语言,用于封装查询结果、传递表单数据、统一校验错误、解耦模板逻辑及定义跨层接口契约。
-
在Linux下打开PHP文件需按目的选择方式:用vim/nano/code等编辑器查看源码;用phpfile.php执行脚本;或通过php-Slocalhost:8000启动内置服务器、或配置Apache/Nginx访问。
-
PHP变量以$开头、区分大小写、赋值即创建;常量无$、全大写约定、定义后不可变;标识符须字母或下划线开头、禁用保留字;isset()判变量,defined()判常量。
-
PHP文件不能直接转HTML,只能通过HTTP请求抓取输出(如file_get_contents)或输出缓冲(ob_start)缓存运行结果并保存为HTML文件,但动态内容将固化且依赖环境失效。
-
PDO预处理语句不提升单次查询速度,但能显著优化重复执行相同SQL结构的场景,通过复用服务端执行计划和防止SQL注入来提升性能与安全性。
-
PHP无法运行时切换MySQL用户,必须断开旧连接并用新凭据重新创建连接;mysqli需调用mysqli_connect()新建连接,PDO需newPDO()重建实例,旧连接须显式关闭或销毁。
-
网站并发限制需协同调整Nginxworker_connections、PHP-FPMpm.max_children及系统ulimit-n三者:前者设Nginx总连接上限,中者控PHP进程数,后者防文件描述符不足;任一缺失将导致限流失效。
-
宝塔面板配置SSH密钥免密登录需三步:一、通过面板安全模块生成4096位RSA密钥对,公钥自动写入authorized_keys;二、手动上传本地公钥并设置.ssh目录权限为700、文件权限600;三、修改sshd_config启用PubkeyAuthentication、禁用PasswordAuthentication并重启SSH服务。
-
三元运算符基于布尔真假判断,空值合并运算符仅检查变量是否为null;前者会将0、空字符串等falsy值视为false,后者则保留这些合法值,适用于处理未定义变量或null默认值场景。