Измените php.ini в Laravel Homestead

Можно ли как-то изменить файл php.ini на усадьбе Laravel? Например, я хочу, чтобы для параметра short_open_tags было установлено значение «Вкл.», однако я не вижу простого способа сделать это — помимо входа в файл php.ini и изменения его каждый раз, когда я загружаю усадьбу??< /em> Я не могу делать это каждый раз.

Должен быть более простой способ просто переопределить некоторые настройки в Laravel homestead. Что делать, если я хочу загружать файлы большего размера, в другое местное время и т. д.?

Как я могу этого добиться? Я пытался использовать команду ini_set() в верхней части моих php-файлов, но это ничего не меняет.


person Chud37    schedule 06.03.2018    source источник


Ответы (1)


Вам не нужно изменять php.ini, чтобы включить <?= в любой версии PHP, которую поддерживает Homestead.

http://php.net/manual/en/language.basic-syntax.phptags.php

5.4.0   The tag <?= is always available regardless of the short_open_tag ini setting. 

Если вы делаете хотите изменить настройки ini, вы должны сделать это в своем after.sh скрипте и использовать стиль, который мы используем в поселенце с помощью sed команд: https://github.com/laravel/поселенец/blob/master/scripts/provision.sh#L107-L125 Просто убедитесь, что вы редактируете правильные php.ini, они есть для каждой версии PHP в Homestead (5.6, 7.0, 7.1, 7.2). Вы также захотите перезапустить службу FPM после изменения любых значений.

person joepferguson    schedule 06.03.2018
comment
Извините, short_open_tags не относится к <? echo 'hello'; (без знака равенства?) Это то, что я пытаюсь сделать. - person Chud37; 06.03.2018
comment
Да, вы можете сделать это с помощью after.sh Что-то вроде: sudo sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/5.6/cli/php.ini sudo sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.0/cli/php.ini sudo sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.1/cli/php.ini sudo sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.2/cli/php.ini Не уверен, что все они имеют этот параметр по умолчанию, вам может потребоваться добавить строку в конец файла. но сначала попробуй. - person joepferguson; 06.03.2018
comment
Спасибо - я поместил эти строки в after.sh, но мой код (<? echo "foobar"; ?>) все еще не запускается. Однако он будет работать, если я заменю первый тег длинным тегом (<?php). Что я делаю не так? - person Chud37; 06.03.2018
comment
Интересно. Если я взгляну на /etc/php/7.1/fpm/php.ini в homestead ssh, то short_open_tag будет установлено на On. Однако, когда я запускаю phpinfo(), отображается Off - person Chud37; 06.03.2018