-
PHP探针应精简为仅显示PHP版本、SAPI类型、启用扩展列表及白名单内的安全$_SERVER项(如SERVER_SOFTWARE、HTTP_USER_AGENT),禁用全量phpinfo(),手动查询关键INI配置,过滤危险路径与调试信息,防止XSS和信息泄露。
-
最直接可靠的方式是调用phpversion()函数——它返回当前运行的PHP解释器版本字符串,不依赖外部命令或配置文件,也不受CGI/FPM模式影响。
-
$_GET和$_POST必须按HTTP方法严格取值:GET请求用$_GET['key'],POST请求用$_POST['key'];混用将导致空值或Notice错误,不可自动fallback。
-
判断PHP数组维度有四种方法:一、递归深度计数法,通过getArrayDepth()返回最大嵌套层级;二、array_keys与array_values对比法,检查值中是否含数组;三、json_encode字符串分析法,用正则匹配嵌套左括号;四、SplFixedArray边界探测法,通过转换异常推断维度。
-
Laravel启用路由缓存后,即使注释掉routes/web.php中的路由定义,旧的缓存路由仍会被执行,导致“已注释代码却依然生效”的异常现象。
-
PHP中触发MySQL表级锁需显式执行LOCKTABLES或DDL语句,该锁为会话级、须手动UNLOCKTABLES释放,仅对当前连接有效;InnoDB默认行锁,但LOCKTABLES仍会升级为表锁,MyISAM则默认表锁。
-
可调整PHP数组键名而不改变值的方法有五种:一、array_combine重组合;二、遍历重建;三、自定义array_replace_key函数替换部分键;四、两次array_flip翻转修正;五、array_walk配合引用修改。
-
PHP文件本身不是视频,不能“变成”MP4;所谓“PHP文件变MP4后损坏”,本质是服务器将本该直传的MP4二进制数据交由PHP解析器执行,导致头部被插入PHP输出、BOM、错误提示或空白字符,使MP4关键box偏移或覆盖而损坏。
-
PHP原生模板渲染可用include+extract实现,配合ob_start()捕获输出,需手动htmlspecialchars转义防XSS,推荐绝对路径引用模板并避免过早抽象。
-
搭建PHP环境可使用XAMPP或WampServer,安装后启动Apache,将PHP文件放入htdocs目录,通过localhost访问;2.编写首个程序需用<?phpecho"Hello,World!";?>输出内容;3.PHP变量以$开头,支持字符串、整数等数据类型,可用if、for等控制结构;4.处理表单需用$_POST获取数据,并进行验证;5.连接MySQL可用mysqli_connect()函数,执行查询并遍历结果集。
-
必须用password_hash()而非md5()或sha1(),因其自动加盐、可调成本、抗彩虹表和暴力破解,且password_verify()能自解析哈希参数确保跨环境兼容。
-
PhpStorm提供五种调用关系分析方法:一、Alt+F7查看调用列表;二、Ctrl+Alt+H生成调用层次图;三、启用CodeVision内联提示;四、通过Diagrams插件导出调用图;五、结合StructureView筛选定位。
-
必须先确认PHP进程实际运行用户(如www-data),再用chown将其设为文件属主或加入所属组,并配chmod775确保组写权限,同时检查SELinux、umask及挂载选项。
-
PHP接收上传文件需先检查$_FILES是否为空且error为UPLOAD_ERR_OK,再用move_uploaded_file()安全移动;关键注意enctype、PHP配置及文件名过滤。
-
应过滤phpinfo()输出而非禁用或删除:通过ob_start()捕获输出,再用正则清洗DOCUMENT_ROOT等敏感字段,既保功能又防信息泄露。