-
PHP7.0起彻底移除ereg系列函数,必须迁移到preg系列;ereg基于BRE语法,preg基于PCRE且需定界符和u等修饰符;替换中$1无效,须用'\\1'或'$1'(单引号);中文匹配须UTF-8编码加u修饰符;preg_match返回1/0而非长度,条件判断需调整。
-
PHP密码存储必须用password_hash(),禁用md5/sha1;真加密用openssl_encrypt()(如AES-256-CBC),禁用ECB模式;base64_encode()仅为编码,无保密性。
-
PHP处理客户端XML数据有五种方法:一、用php://input读取原始XML;二、通过$_POST接收URL编码的XML;三、兼容旧版用$HTTP_RAW_POST_DATA(已弃用);四、处理cURL或网关转发的封装XML;五、用SAX解析超大XML。
-
PHP代码未执行可能因入口未集成、权限未生效或Web服务器未重载;可通过Webhook调用PHP接口(需令牌校验)或部署后直接CLI执行脚本触发。
-
curl_init()返回false主因是cURL扩展未启用或被disable_functions禁用,需通过php-m、phpinfo()或ini_get('disable_functions')排查;POST数据需按Content-Type正确传字符串或数组;HTTPS需配置CURLOPT_CAINFO指向CA证书包;超时须同时设CURLOPT_TIMEOUT和CURLOPT_CONNECTTIMEOUT_MS;每次curl_exec()后必须检查返回值是否为false。
-
PHPPDO默认错误模式为静默模式(PDO::ERRMODE_SILENT),推荐初始化时通过options参数设为异常模式(PDO::ERRMODE_EXCEPTION),使错误触发PDOException便于捕获,其他模式仅适用于特定场景。
-
先看phpenv\logs\apache_error.log和phpenv\logs\php_error.log,重点搜索PHPParseerror、fopen失败及内存耗尽等关键词,并检查php.ini中file_uploads、upload_max_filesize、post_max_size等上传相关配置是否启用且合理。
-
phpEnv中修改memory_limit必须直接编辑其自带的php.ini文件(如C:\phpenv\php\php.ini),将memory_limit设为512M或1G(单位大写),保存后通过phpEnv控制面板重启Apache方可生效;.htaccess和ini_set()在该环境下易失效或受限,不推荐作为主要方案。
-
PHP无法直接运行于裸机微控制器,仅支持能运行Linux的嵌入式平台,如树莓派(推荐RaspberryPiOSBookworm)、ARM工业主板(BeagleBone、NanoPi)、x86工控机;ESP32等MCU需通过串口/MQTT与PHP主控通信。
-
XAMPP不支持微前端运行时沙箱、模块联邦或跨域通信机制,仅能通过多端口+虚拟主机粗略模拟独立部署子应用,需手动配置Listen、VirtualHost权限及跨端口通信方案。
-
PHP命令行工具没有-x参数用于生成XML文档,正确做法是使用PHPDocumentor工具,它能解析代码中的DocBlock注释并生成XML格式的结构化文档,便于机器读取、自动化处理和集成到CI/CD流程中,提升项目可维护性和团队协作效率,最终实现文档与代码同步更新。
-
PHP静态方法和属性属于类本身,无需实例化即可通过类名直接访问,适用于工具函数、工厂方法、配置管理等无状态或全局性场景;使用self关键字指向定义时的类,static支持后期静态绑定,指向实际调用的类;常见应用包括StringHelper::capitalize()这类工具类、ProductFactory::createProduct()工厂模式、AppConfig::$databaseHost配置存储及Database::getInstance()单例模式;但过度使用会导致可测试性差、全局状态污染等问题
-
PHPcURL发起POST请求不受跨域限制,常见错误实为请求配置不当:需设置CURLOPT_POST、CURLOPT_POSTFIELDS、CURLOPT_RETURNTRANSFER和CURLOPT_SSL_VERIFYPEER,并匹配Content-Type与数据格式,同时检查服务器网络策略及接口文档细节。
-
PDO分页需校验页码和每页数为整型并白名单控制,LIMIT/OFFSET须手动拼接(因PDO不支持绑定),COUNT(*)须单独查询且条件严格同步,避免rowCount()误用,大偏移量应改用游标分页。
-
最常见报错是401Unauthorized伴随InvalidSignature或SignatureDoesNotMatch;主因是签名计算偏差,如时间戳未校验、X-Hub-Signature-256头错误、请求体被修改或canonicalizedheaders拼接顺序不一致。