我正在使用PHP构建系统phing
来创建phar
归档文件。
有没有任何已知的科学可以让我在运行phing
时自动将phar.readonly
设置为0
(这将允许创建phar
),但在所有其他时间都将其设置为0
?
phar.readonly
只能在PHP.INI 中设置
他们的文档说它可以由ini_set()
("phar.radionly"1"PHP_INI_ALL")设置,但不能。
$ php -r "ini_set('phar.readonly',0);print(ini_get('phar.readonly'));"
1
更新自http://php.net/manual/en/phar.configuration.php
由于安全原因,此设置只能在php.ini中取消设置。如果在php.ini中禁用了phar.radionly,则用户可以在脚本中启用phar.radion,也可以稍后禁用它。如果在php.ini中启用了phar.radionly,脚本可能会无害地"重新启用"ini变量,但可能不会禁用它。
简短回答:您应该将php.ini文件中的参数phar.readonly
从1设置为0。
长话短说:我的PHP运行在docker上,为了重写phar.readonly
,我在dockerfile 中设置了一个INI文件
RUN echo 'phar.readonly=0' >> /usr/local/etc/php/conf.d/docker-php-phar-readonly.ini
docker将读取您放入/usr/local/etc/php/conf.d/
文件夹中的每个INI文件,并使用以下参数重写php.INI: