-
可在本地运行PHP脚本的四种方法:一、PHP内置服务器(php-Slocalhost:8000);二、XAMPP集成环境(Apache+PHP,项目放htdocs);三、Laragon(Windows一键环境,自动域名如demo.test);四、Docker(Nginx+PHP-FPM容器化)。
-
phpEnv的Nginx默认允许任意目录执行PHP,因其仅配置宽泛的location~\.php$规则,未按目录精细化限制,导致上传目录如/upload/下的shell.php可被直接访问执行。
-
phpEnv不支持ClickHouse,需通过HTTP接口(端口8123)调用,推荐使用salsify/clickhouse-php库或cURL发送请求,而非尝试PDO/MySQLi驱动。
-
应使用自定义cast(如TrimmedString)而非mutator实现自动trim,因其在赋值瞬间介入,覆盖批量操作、API资源等场景;需配合验证层提前trim或调整规则,避免空格字符串验证失败。
-
System占用80端口实为HTTP.SYS内核服务所致,不可直接终止PID4进程;需通过禁用HTTP服务、修改注册表Start值为0或停用IIS/SQLServerReporting等触发服务来解决。
-
Redis默认不持久化,需手动开启RDB或AOF:取消redis.conf中save三行注释以启用RDB;将appendonlyno改为yes启用AOF;4.0+版本可配aof-use-rdb-preambleyes启用混合持久化;RDB与AOF的dir路径须一致,且重启服务才生效。
-
第一天就该写echo,即在htdocs下建test.php并输出Hello与日期;环境不搭好、错误不显示、安全不设防,后续全是空谈。
-
Cloudflare代理是否生效?先看响应头cf-ray和server:cf-ray存在说明经Cloudflare,server显示nginx/openresty则暴露宝塔标识;DNS必须橙色云代理,禁用宝塔强制HTTPS、HTTP重定向及外部端口拦截;需配置Nginx信任CloudflareIP段并读取HTTP_CF_CONNECTING_IP获取真实用户IP。
-
在PHP开发中避免代码冲突的关键在于合理分工、勤拉更新和细粒度提交。首先,项目初期应合理划分模块与职责,将功能拆分为独立类、函数或组件,减少并发修改同一代码区域的可能性;其次,开发者应频繁执行gitpull以确保本地代码最新,尽早发现他人改动,部分IDE和Githooks也能辅助检测更新;最后,提交代码时应遵循细粒度原则,每次提交只完成一个任务,使Git更准确识别改动内容,降低合并复杂度。
-
PHP数组转字符串有五种方法:一、implode()用于一维索引数组,按分隔符连接值;二、json_encode()生成标准JSON字符串,保留结构与键名;三、serialize()生成PHP特有序列化字符串,支持所有类型;四、array_map配合implode实现格式化拼接;五、foreach循环手动拼接,灵活性最高。
-
--single-transaction更安全,适用于纯InnoDB表热备;含MyISAM时需停写或改用物理备份;PHP调用须显式路径+配置文件传参;恢复前须先建库并指定数据库名。
-
PHP插入MySQL中文乱码需全链路统一utf8mb4:检查服务端、库表编码,PHP连接后执行SETNAMESutf8mb4或mysqli_set_charset,确保文件UTF-8无BOM、HTML声明charset=UTF-8、Web服务器响应头正确,PDO推荐DSN加charset参数或init_command,JSON中文转义非乱码。
-
宝塔面板不直接管理Nuxt.jsSSR进程,须用PM2启动守护.output/server/index.mjs并配置NUXT_HOST=0.0.0.0和NODE_ENV=production,再通过Nginx反向代理(含X-Forwarded-Proto等关键头)对外提供服务,缺任一环节将导致进程退出或无法访问。
-
Xdebug在WAMP下默认不启用,需手动修改Apache所用php.ini(通过WAMP托盘→PHP→php.ini打开),添加zend_extension绝对路径及xdebug.mode=debug等新参数,重启所有服务后在phpinfo()中验证完整Xdebug区块,并在PhpStorm中配置服务器映射与端口监听。
-
phpEnv不支持Nginx正则server_name(因禁用PCRE),推荐用*.example.com通配符或PHP层动态路由;需确认pcre支持、正确加载vhost配置、通过控制面板重启Nginx。