Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

WordPress.WP.AlternativeFunctions.file_system_operations error messages cannot be fixed anymore

未关闭
#823 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
php, wordpress
领域
tooling

调研方向

从 ruleset.xml 中的 WordPress.WP.AlternativeFunctions.file_system_operations 规则开始,将已配置的消息与 VIPCS 3.0.0 和 WordPressCS 3.1.0 中的行为进行比较。使用提供的 fopen() 代码片段重现该问题,并验证由此产生的指导。完成的标准是:报告的错误不再包含误导性的修复建议,并且所有相关的文件操作规则都具有明确且一致的行为。

由索引模型根据 Issue 内容生成。

描述

Bug Description

WordPress.WP.AlternativeFunctions.file_system_operations error messages are overwritten in the ruleset, e.g.

<rule ref="WordPress.WP.AlternativeFunctions.file_system_operations_fopen">
	<message>File system operations only work on the `/tmp/` and `wp-content/uploads/` directories. To avoid unexpected results, please use helper functions like `get_temp_dir()`  or `wp_get_upload_dir()` to get the proper directory path when using functions such as %s(). For more details, please see: https://docs.wpvip.com/technical-references/vip-go-files-system/local-file-operations/</message>
</rule>

However since WPCS 3.0.0 this error can only be fixed by using WP_Filesystem. Neither get_temp_dir() or wp_get_upload_dir() will make the error go away and it's unclear why (unless you debug and find the original error message where it says WP_Filesystem)

Minimal Code Snippet

$f = fopen( get_temp_dir() . '/abc.log' );

Error Code

WordPress.WP.AlternativeFunctions.file_system_operations_fopen

Environment

Question Answer
PHP version 8.3
VIPCS version 3.0.0
WordPressCS version 3.1.0

Additional Context (optional)

With WP_Filesystem, I think it's unnecessary to overwrite those errors in the first place and these overwrites can all be removed from ruleset.xml

Possibly, errors like WordPressVIPMinimum.Functions.RestrictedFunctions.file_ops_fputcsv should be changed to a also only allow WP_Filesystem ?

Tested Against main branch?

  • I have verified the issue still exists in the main branch of VIPCS.
  • I have verified the issue still exists in the develop branch of VIPCS.
主要语言
PHP
星标
261
派生
44
平均合并
3 天 17 小时
30 天内合并 PR
9

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Automattic/VIP-Coding-Standards 的其他 Issue

查看 Automattic/VIP-Coding-Standards 的全部 Issue

相似的 Issue

更多 PHP Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。