我想通过这个git使用phpmyadmin。 https://github.com/dmikusa-pivotal/cf-ex-phpmyadmin
但我必须在php.ini中更改max_file_uploads。
任何想法如何解决这个问题?
抱歉我的英语不好。
答案 0 :(得分:2)
PHP在配置方面非常灵活。有几种方法可以更改php.ini设置。这是我对PHP构建包的推荐。
更改部署到CF的PHP应用程序的longjmp
设置的最简单方法是使用PHP's per-directory settings。
为此,您只需将名为php.ini
的文件放入PHP文件的根目录即可。对于您引用的PHPMyAdmin应用程序,您将其放在.user.ini
目录中,因为这是安装所有应用程序文件的位置。设置您需要在该文件中调整的任何选项。
将您的应用程序推送到Cloud Foundry,它应该选择新的配置选项。
旁注,您可以将htdocs
文件也放在其他目录中,确切位置取决于您希望应用该文件中包含的设置的范围。有关详细信息,请参阅PHP docs。
此选项适用于未标记为PHP_INI_SYSTEM的任何.user.ini
设置。
如果要更改的设置标记为PHP_INI_SYSTEM,或者如果要在分段期间更改php.ini
设置(例如,影响Composer使用的选项),则需要使用此选项
首先在项目的根目录中创建文件夹php.ini
。然后将具有.bp-config/php/conf.d
扩展名的文件添加到该目录中,例如:my-settings.ini(旁注,您可以将多个.ini
文件添加到此目录中)。设置您需要调整的任何选项。
第二步将应用程序的环境变量.ini
设置为PHP_INI_SCAN_DIR
。这将指示PHP在我们刚刚创建的目录中查找其他INI配置。
您可以通过运行.bp-config/php/conf.d
或将其添加到cf set-env app-name 'PHP_INI_SCAN_DIR' '.bp-config/php/conf.d'
文件的env
块来设置环境变量。
将您的应用程序推送到Cloud Foundry,它应该选择新的配置选项。
这两种方法的好处是您的manifest.yml
文件只需要设置您关心的选项。 Alex在他的回答中提到的选项在技术上可行,但是如果你这样做,你将覆盖构建包提供的默认.user.ini
设置的所有。
我不建议覆盖所有内容的两个原因。
您现在在应用中拥有完整的配置文件,如果我们更改了构建包中的任何内容,您的配置将会失去同步,并且您的应用可能无法在下次推送时暂存。< / p>
如果你不是很小心,你可以破坏它。这是我看到人们使用PHP应用程序导致应用程序失败的最常见的事情之一,更具体地说,它导致PHP扩展无法加载,从而导致应用程序失败。
答案 1 :(得分:1)
以下是您需要做的事情:
1)首先按照自述文件中的说明安装PHPMyAdmin:
https://github.com/dmikusa-pivotal/cf-ex-phpmyadmin
2)在.bp-config目录下的应用程序文件夹中创建一个php子目录
3)将默认的php.ini复制到php子目录。默认文件位于here
4)编辑本地php.ini并将max_file_uploads更改为180
5)使用cf命令行
推送你的应用程序6)检查max_file_uploads是否已正确更新:
# cf files <your app name> app/php/etc/php.ini | grep max_file_uploads
您可以获得更多详情here。