首页 > 解决方案 > PHPCompatibility with PHP Code Sniffer,与 Docker/Shell 中的 PHP,无法在 phar 中创建 CodeSniffer.conf,只读文件系统

问题描述

我正在尝试使用此工具集运行 PHP 兼容性测试: https ://github.com/PHPCompatibility/PHPCompatibility

我将 phpcs(PHP 代码嗅探器)作为 .phar 文件。我为“phpcs”和我的 php 使用别名,

这是我的别名,所以你知道:

在此处输入图像描述

我的 PHP 可执行文件基本上是这样的:

在此处输入图像描述

正如您在别名中看到的那样,我传递了一个“php_phar_readonly_false.ini”配置文件,它基本上设置了 phar.readonly = Off ,并且我已经测试并且配置生效,

但是,当我到达必须在 installed_pa​​ths 中添加 PHPCompatibility 的步骤时,我收到一条错误消息,指出文件系统在我的 phpcs.phar 中是只读的,我认为使用 phar.readonly = Off 传递 .ini 配置可以解决,但它没有,

这就是我所说的:

在此处输入图像描述

我尝试使用 chmod 更改 phpcs.phar 的权限,但没有运气,我也尝试直接使用没有别名的路径,但也没有运气,

我基本上希望能够使用 phar 文件从任何地方运行该工具来测试 PHP 兼容性,如果可能的话,无需安装 composer 或其他方法,

帮助将不胜感激,在此先感谢!

顺便说一句,.ini 配置基本上是这样的: 在此处输入图像描述

我已经通过运行我的 php 别名(如“php5516 -r 'phpinfo();' >> somefile.txt”,我看到 phar.readonly 是 Off 并且 phpinfo 中也有其他设置。

标签: phpdockershelllinux-mintphpcs

解决方案


要解决此问题,您必须从 -v "$HOME":"$HOME":ro 中删除 ":ro" (表示只读)


推荐阅读