-
MySQL远程连接需依次配置bind-address=0.0.0.0(或指定IP)、禁用skip-networking、用户Host设为具体IP/CIDR、云安全组与宝塔防火墙均放行3306端口,并用telnet验证端口连通性。
-
PHP三元运算符标准格式为$condition?$true:$false,必须含三个操作数;??是空合并操作符,仅判null/未定义,不做强转;嵌套易错需括号分组;性能与if相当,但可维护性差。
-
第三方类库应放application/libraries/(CI3)或app/Libraries/(CI4),命名需匹配文件名且首字母大写;命名空间类库须用Composer加载,入口文件需手动引入vendor/autoload.php;CI3中$this->load->library()第二参数非配置项,CI4已改用服务容器。
-
CodeIgniter中date()返回1970年因未校准时间戳且忽略时区配置;须用strtotime()或DateTime转字符串为时间戳,或使用已适配时区的now()函数,并注意PHP8.1+需显式调用getTimestamp()。
-
PHP数组遍历注释应聚焦意图而非语法,foreach前用块注释说明目的及副作用,for循环需明确边界与步长逻辑,嵌套循环须体现主谓宾关系,并注明外部数据结构。
-
PHP数组去重有五种方法:一、array_unique()保留首键;二、array_flip()双翻转适用于字符串/整数;三、foreach手动筛选支持自定义逻辑;四、array_reduce()函数式写法;五、多维数组需序列化后去重。
-
最直接方式是用$_POST或$_GET值填充表单控件的value、selected或checked属性;文本框和textarea需用htmlspecialchars()转义并配合??''防Notice;下拉框须比对$_POST值为匹配option添加selected属性。
-
phpEnv本身不提供数据库导出功能,导出需手动调用其内置MySQL的mysqldump工具,并注意路径、端口、字符集、权限及安全调用等细节。
-
PHP中连续调用sleep()总耗时为各参数之和,因单线程同步执行,不存在覆盖或并发;usleep()单位为微秒,time_nanosleep()为秒+纳秒;信号中断和SAPI超时更易导致线上异常。
-
最稳妥推荐的PHP连MySQL方式是PDO,需启用pdo和pdo_mysql扩展,连接时必须设置charset=utf8mb4和PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,排查连接失败要依次检查MySQL服务状态、用户权限和host/port配置。
-
子查询分组必须用fromSub()或joinSub(),不能直接塞Builder到select();前者用于分组结果再聚合/分页,后者适合关联主表并支持on链式写法,二者自动处理括号、别名与参数绑定。
-
宝塔面板中页面缓存需通过“网站→设置→反向代理”启用并手动配置proxy_cache规则,而非静态文件缓存或CDN回源开关;关键在正确设置proxy_cache_key、忽略Set-Cookie与Cache-Control,并排除动态路由。
-
必须调高phpEnv的CLI模式php.ini中memory_limit值至1024M,或用php-dmemory_limit=2048M命令临时指定,因导入走CLI路径而非Web服务器,.htaccess等配置无效。
-
PHP处理404错误需三步:1.Apache配置中用ErrorDocument404/404.php(写入vhosts.conf或httpd.conf,非.htaccess);2.404.php首行必须为http_response_code(404),且无BOM、空白或输出;3.重启Apache并用curl-I验证响应头为404。
-
PHP输出中文需同步设置header('Content-Type:text/html;charset=utf-8')、源文件存为UTF-8无BOM,并配置数据库连接使用utf8mb4编码,三者缺一不可。