如何在ibm bluemix上更改php.ini

时间:2015-09-22 16:05:26

标签: php phpmyadmin cloudfoundry ibm-cloud

我想通过这个git使用phpmyadmin。  https://github.com/dmikusa-pivotal/cf-ex-phpmyadmin

但我必须在php.ini中更改max_file_uploads。

任何想法如何解决这个问题?

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:2)

PHP在配置方面非常灵活。有几种方法可以更改php.ini设置。这是我对PHP构建包的推荐。

  1. 更改部署到CF的PHP应用程序的longjmp设置的最简单方法是使用PHP's per-directory settings

    为此,您只需将名为php.ini的文件放入PHP文件的根目录即可。对于您引用的PHPMyAdmin应用程序,您将其放在.user.ini目录中,因为这是安装所有应用程序文件的位置。设置您需要在该文件中调整的任何选项。

    将您的应用程序推送到Cloud Foundry,它应该选择新的配置选项。

    旁注,您可以将htdocs文件也放在其他目录中,确切位置取决于您希望应用该文件中包含的设置的范围。有关详细信息,请参阅PHP docs

    此选项适用于未标记为PHP_INI_SYSTEM的任何.user.ini设置。

  2. 如果要更改的设置标记为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,它应该选择新的配置选项。

  3. 这两种方法的好处是您的manifest.yml文件只需要设置您关心的选项。 Alex在他的回答中提到的选项在技术上可行,但是如果你这样做,你将覆盖构建包提供的默认.user.ini设置的所有

    我不建议覆盖所有内容的两个原因。

    1. 您现在在应用中拥有完整的配置文件,如果我们更改了构建包中的任何内容,您的配置将会失去同步,并且您的应用可能无法在下次推送时暂存。< / p>

    2. 如果你不是很小心,你可以破坏它。这是我看到人们使用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