在vagrant虚拟机上编辑php.ini

7

有人知道如何使用 Vagrant 在 php.ini 文件中编辑邮件设置吗?

接下来,我将在终端中通过 SSH 进入:

cd myapp

vagrant ssh

然后怎么做呢?


1
很大程度上取决于PHP的安装方式以及您的计算机使用的操作系统。查看vagrantfile以及在初始化后用于配置计算机的任何脚本都会有所帮助。 - tmountjr
请查看以下链接以获取完整的 Vagrantfile:https://gist.github.com/lstables/10421433 - the_unforgiven_II
3个回答

22

根据你的盒子,情况可能各不相同。

sudo nano /etc/php5/apache2/php.ini

然后采纳您的更改并重新启动

sudo service apache2 restart

对我来说,那个文件是空的。 - Francisco Corrales Morales
14
运行 php --ini 命令将显示配置文件的路径。 - Shannon Matthews
php --ini 从你的控制台/设备中查找 php 的位置。执行 phpinfo(); 可以找到你的项目正在运行的 php 位置。 - Eagle_

5

如果不知道您需要哪些具体设置以及需要将其更改为什么,您可以尝试在Vagrantfile的末尾(在“本地脚本”区域)添加一个shell脚本来对ini文件进行搜索和替换。

#!/usr/bin/env bash

sed -i.bak s/STRING_TO_REPLACE/STRING_TO_REPLACE_IT_WITH/g /etc/php5/apache2/php.ini

如果无法实现上述方法,你可以在项目中使用ini_set(最好在引导文件中)来按项目设置更改邮件设置。

好的,也许我只需要使用ini_set,没有什么大问题,只是想知道如何在Vagrant中实现。 - the_unforgiven_II
看看 Puppet 吧 - 它有点复杂,但你可以在 Puppetfile 中进行这种配置更改,而不必弄乱 shell 脚本或以后在代码中设置某些东西时记住。一个非常好的入门资源是 PuPHPet - https://puphpet.com/。 - tmountjr
是的,我尝试过那个,但有点困惑。 - the_unforgiven_II

2

在我的情况下,我使用Vagrant上的Scotchbox,在更改 php.ini 文件后,不会反映在 phpinfo()函数输出中,因此我更改了 /etc/php5/apache2/conf.d/user.ini 文件。该文件可能是一个裸文件或者是一个包含几行声明php错误显示的文件,我在这里添加配置,例如 upload_max_filesize = 64M 保存更改并发出 sudo service apache2 restart 。查看phpinfo页面,我可以看到更新的文件大小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接