-
Laravel路由配置位于routes目录,web.php处理Web请求,api.php用于API接口。通过Route门面定义GET、POST等请求路由,支持闭包和控制器方法。可使用{param}定义必填或{param?}可选参数,并用where添加正则约束。命名路由便于生成URL和重定向,如name('user.show')配合route()函数。路由分组可统一设置中间件、前缀、命名空间和名称前缀,提升组织性。推荐使用控制器替代闭包,Resource路由自动生成RESTful动作。Fallback路由处
-
应将PHP数组序列化为字符串再存入数据库,常用方法有:一、serialize()/unserialize()保留数据类型;二、json_encode()/json_decode()跨语言兼容;三、拆分存入关系表实现规范化;四、用PDO预处理防SQL注入;五、按长度选TEXT/MEDIUMTEXT等字段类型。
-
PHP连接MySQL不涉及跨域,跨域仅存在于前端JavaScript调用PHP接口时;需在PHP中设置Access-Control-Allow-Origin等响应头解决CORS错误。
-
putenv设环境变量仅对当前PHP进程有效,脚本结束即失效;不能跨CLI执行或Web请求共享,且不会自动同步到$_ENV,需用getenv读取;无法真正删除变量,仅能清空值。
-
统信UOS部署宝塔面板失败需按五步排查:一查架构与版本兼容性;二用Ubuntu适配脚本重装;三手动部署Nginx/MySQL二进制;四禁用AppArmor/SELinux;五验证MySQL端口、进程及socket路径。
-
表单提交触发PHP执行有五种方法:一、POST提交至独立PHP文件;二、GET提交由同一PHP文件内处理;三、AJAX异步提交调用PHP脚本;四、enctype="multipart/form-data"上传文件;五、隐藏字段配合路由PHP分发逻辑。
-
RedisSETNX锁失效的根本原因是未保障原子性及过期机制,正确做法是用SETkeyvalueNXEXseconds一条命令设锁,value用唯一标识,解锁用Lua脚本校验后删除,并配合指数退避重试。
-
site_url()生成带index.php(或配置的index_page)的控制器方法跳转或表单提交用的完整URL,不适用于静态资源;需加载url_helper才能使用,传参推荐数组形式以避免编码和拼接错误。
-
PHP对象不能直接访问类常量,$obj::CONST_NAME是语法糖,本质为静态解析而非动态绑定;$obj->CONST_NAME会报错,因常量不属于实例属性。
-
数据库索引应服务于高频、高选择性查询,优先在唯一或近似唯一的字段上建立联合索引,按等值→范围→排序顺序排列,控制索引长度,定期清理无效索引。
-
SourceGuardian加密PHP文件可通过识别版本、AI平台解密、动态执行捕获或GDB内存提取四种方法解密,需匹配SG版本并确保Loader环境兼容。
-
答案是通过项目证明能力并主动拓展求职渠道。先做PHP+MySQL项目如商城后台,发布到GitHub并写好README;再从小公司需求、技术社区、开源项目中找机会;面试时重点准备PHP基础、MySQL操作和项目讲解,突出解决问题的能力。
-
应先用is_readable检查文件存在性与读权限,再调用file_get_contents;fopen需校验返回值;require/include无法捕获,scandir/glob后需逐个is_readable校验,防范TOCTOU竞态。
-
正确访问phpinfo()页面需将含phpinfo()的.php文件置于Web根目录,由服务器解析执行;常见错误包括下载源码、空白页、404/500错误,须检查PHP模块、文件编码(UTF-8无BOM)、权限、URL后缀及安全限制。