【问题标题】:Modify php.ini on Laravel Homestead修改 Laravel Homestead 上的 php.ini
【发布时间】:2018-08-14 09:18:01
【问题描述】:

Laravel homestead 上的 php.ini 文件有什么改变吗?例如,我想将 short_open_tags 设置为 On - 但是我看不到一个简单的方法来做到这一点 - 除了进入 php.ini 文件并在每次启动宅基地时更改它?? 我不能每次都那样做。

必须有一种更简单的方法来简单地覆盖 Laravel homestead 中的一些设置。如果我想上传更大的文件、不同的本地时间等怎么办?

我怎样才能做到这一点?我尝试在我的 php 文件顶部使用 ini_set() 命令,但这没有任何改变。

【问题讨论】:

    标签: php laravel homestead laravel-5.6


    【解决方案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/settler/blob/master/scripts/provision.sh#L107-L125 只要确保您重新编辑正确的php.ini,Homestead 中的每个 PHP 版本都有一个(5.6、7.0、7.1、7.2)您还需要在更改任何值后重新启动 FPM 服务。

    【讨论】:

    • 对不起,short_open_tags 指的是&lt;? echo 'hello';(没有等号?)这就是我想要做的。
    • 是的,您需要通过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 不确定它们是否都具有默认设置,您可能需要将该行附加到文件的底部。但先试试这个。
    • 谢谢 - 我将这些行放入 after.sh,但我的代码 (&lt;? echo "foobar"; ?&gt;) 仍然无法运行。但是,如果我用长标签 (&lt;?php) 替换第一个标签,它将运行。我做错了什么?
    • 有趣。如果我在 homestead ssh 中查看/etc/php/7.1/fpm/php.ini,则short_open_tag 设置为On。但是,当我运行 phpinfo() 时,它显示的是 Off
    猜你喜欢
    • 2018-12-16
    • 2018-12-29
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多