如何在Mac上创建phar文件?解决phar.readonly配置无效问题
解决Mac上创建Phar文件的phar.readonly限制问题
问题原因
phar.readonly是PHP的PHP_INI_SYSTEM级配置项,这类配置无法通过运行时的ini_set()修改,必须在PHP启动时通过命令行参数或php.ini调整。
方案一:直接带参数调用phar命令行工具
执行打包命令时,通过php -d phar.readonly=0强制关闭只读限制,再调用phar工具:
php -d phar.readonly=0 /usr/bin/phar pack -f result.phar /Users/me/FolderToPack/
如果不确定phar工具的路径,先执行which phar获取实际路径,替换上述命令中的/usr/bin/phar即可。
方案二:用PHP脚本手动打包
如果不想用命令行工具,可编写简单的PHP脚本完成打包:
- 创建
build_phar.php文件,内容如下:
<?php $phar = new Phar('result.phar'); // 从指定目录打包所有文件 $phar->buildFromDirectory('/Users/me/FolderToPack/'); // 添加默认执行入口(若不需要可省略此句) $phar->setStub($phar->createDefaultStub()); ?>
- 执行脚本时带上参数关闭只读限制:
php -d phar.readonly=0 build_phar.php
内容的提问来源于stack exchange,提问作者LA_
相关产品推荐
相关产品推荐

