You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行php artisan serve提示无法创建锁文件(AlmaLinux/CentOS8)求解决

问题诊断与解决方法

问题根源

该错误与PHP OPcache的锁文件创建失败有关。在AlmaLinux 8/CentOS 8这类RHEL系系统中,PHP CLI模式下的OPcache配置可能引用了不存在的目录,或者普通用户没有该目录的写入权限,导致无法生成锁文件。

问题性质

既涉及缺失目录(对应"No such file or directory"错误),也涉及权限限制(对应"Bad File Descriptor"错误),二者都是OPcache锁文件路径配置不当引发的连锁问题。


解决方法

方法1:禁用CLI模式下的OPcache(推荐)

OPcache对CLI模式的PHP并非必需,直接禁用是最简便的方案:

  1. 编辑OPcache配置文件(通常路径为 /etc/php.d/10-opcache.ini)
  2. 找到 opcache.enable_cli 项,修改为:
    opcache.enable_cli=0
    
  3. 保存文件后,重新执行 php artisan serve 即可正常运行。

方法2:修复锁文件目录的存在性与权限

若需保留OPcache功能,可手动配置合法的锁文件路径:

  1. 查看当前锁文件路径:
    php -i | grep opcache.lockfile_path
    
  2. 若路径指向不存在的目录,创建该目录并赋予当前用户写入权限:
    sudo mkdir -p /var/run/php-opcache
    sudo chown $USER:$USER /var/run/php-opcache
    
  3. (可选)若默认路径不合理,可在 opcache.ini 中指定用户主目录下的路径:
    opcache.lockfile_path=/home/你的用户名/.php-opcache.lock
    
  4. 保存配置后重启命令。

方法3:临时禁用OPcache执行命令

无需修改配置文件,单次运行时临时关闭OPcache:

php -d opcache.enable_cli=0 artisan serve

内容的提问来源于stack exchange,提问作者jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:42:23