本地Mac开发WordPress主题,filemtime()调用报错求助
WordPress本地开发:filemtime() stat failed错误排查与解决
本地Mac环境完全可以使用filemtime(),你遇到的报错和环境无关,而是路径、文件存在性或权限问题导致的,以下是具体排查方向和解决方法:
确认文件真实存在:
虽然输出的路径看起来正确,但务必检查主题目录下的dist/assets/css/main.css是否实际生成。比如你用的前端编译工具(Webpack、Gulp等)是否完成了编译,有没有漏生成这个文件;另外注意路径的大小写一致性,Mac默认不区分大小写,但PHP在某些环境下可能对大小写敏感。检查文件权限:
Mac下Web服务器运行用户(比如Apache的_www、Nginx的www-data)可能没有该文件的读取权限。右键目标文件→「显示简介」→「共享与权限」,确保对应服务器用户拥有读取权限。排查路径拼接问题:
可以用var_dump(get_template_directory())输出函数返回的实际路径,确认是否和预期一致,比如末尾是否多了斜杠导致拼接后路径错误。手动拼接路径后,用file_exists()测试是否能检测到文件:var_dump(file_exists(get_template_directory() . '/dist/assets/css/main.css'));添加容错代码避免报错:
如果暂时找不到根源,可以先添加文件存在判断,避免警告输出:$css_file = get_template_directory() . '/dist/assets/css/main.css'; $version = file_exists($css_file) ? filemtime($css_file) : '1.0.0'; wp_enqueue_style( '_themename-stylesheet', get_template_directory_uri() . '/dist/assets/css/main.css', [], $version, 'all' );
内容的提问来源于stack exchange,提问作者Julie
相关产品推荐
相关产品推荐

