PHP FileInfo扩展php.ini覆盖

时间:2015-07-06 07:28:38

标签: php linux .htaccess shared-hosting

我在我的应用程序中使用GD库,这要求我修改我的php.ini才能工作。我了解如果我取消注释extension=fileinfo.so应用程序将按要求运行,但我的挑战是我无法访问我的共享主机服务器配置。 我的问题,有没有办法使用ini_set('', '')

提前致谢

1 个答案:

答案 0 :(得分:0)

出于安全原因,共享主机已禁用 ini_set()功能 如果托管服务提供商为您启用 ini_set(),您可以完全访问托管服务提供商不想要的php变量控件

出于您的目的,您可以通过应用程序根文件夹中的 .htaccess 文件来执行此操作

使用.htaccess

允许两个指令
php_flag <boolean-flag-name> on|off
php_value <flag-name> <flag-value>

php_flag应该用于开/关值

例如,以下.htaccess文件将禁用全局变量,将最大文件上载大小设置为20MB,并允许PHP脚本运行10分钟(600秒):

php_flag register_globals off
php_value upload_max_filesize 20M
php_value max_execution_time 600

您也可以使用ini_set函数。在PHP脚本中,它允许您在运行时更改应用程序中的设置。该函数接受两个参数:

ini_set(flag-name,flag-value),

示例

<?php
ini_set('register_globals', 0);
ini_set('upload_max_filesize', '20M');
ini_set('max_execution_time', 600);
?>

我们可以在更改这些值之前查询php解释器,我们可以使用 ini_get()方法

<强> ini_get(标志名) 返回配置值。我建议检查配置更改并采取适当的措施。不要以为ini_get()会一直有效。

<强> ini_get_all([延伸]) 将所有配置值作为关联数组返回。可选的扩展参数返回特定于该扩展名的选项,例如“allow_url_fopen选项”。

<强> get_cfg_var(标志名) 从php.ini返回原始配置值(不是在.htaccess或ini_set中设置的任何覆盖)。

<强> ini_restore(标志名) 将配置选项返回到其原始值。