php设置根本不起作用

Posted

技术标签:

【中文标题】php设置根本不起作用【英文标题】:php settings does not work at all 【发布时间】:2018-06-16 05:28:38 【问题描述】:

我有一个 php 版本 7.0.22 的 Linux apache2 网络服务器。看起来设置根本不起作用:(

.ini 文件位于以下位置:/etc/php/7.0/apache2/php.ini,根据 phpinfo()。当我查看/etc/php/7.0/apache2 文件夹时,我看到三个文件php.ini(设置告诉我正在使用的文件)、php.ini.savephp.ini.ucf-dist

所以我寻找allow_url_include,它是off,我将其更改为On,然后是allow_url_fopen = On。我对所有保存的 .ini 文件执行此操作,重新启动 apache2 并刷新 phpinfo() 页面,但没有任何反应。 我试图更改所有 .ini 文件中的另一个设置并做了同样的事情,但什么也没发生。我对所有 .ini 文件都拥有 777 权限(不聪明,但我只是想让这件事正常工作)。 那么是否有一些其他设置需要更改,以便我可以更新设置?有什么想法吗?

更新:

这是在 Additional .ini files parsed 字段中:

/etc/php/7.0/apache2/conf.d/10-mysqlnd.ini, /etc/php/7.0/apache2/conf.d/10-opcache.ini, /etc/php/7.0/apache2/ conf.d/10-pdo.ini, /etc/php/7.0/apache2/conf.d/15-xml.ini, /etc/php/7.0/apache2/conf.d/20-calendar.ini, /etc /php/7.0/apache2/conf.d/20-ctype.ini, /etc/php/7.0/apache2/conf.d/20-dom.ini, /etc/php/7.0/apache2/conf.d/20 -exif.ini, /etc/php/7.0/apache2/conf.d/20-fileinfo.ini, /etc/php/7.0/apache2/conf.d/20-ftp.ini, /etc/php/7.0/ apache2/conf.d/20-gd.ini, /etc/php/7.0/apache2/conf.d/20-gettext.ini, /etc/php/7.0/apache2/conf.d/20-iconv.ini, /etc/php/7.0/apache2/conf.d/20-json.ini, /etc/php/7.0/apache2/conf.d/20-mbstring.ini, /etc/php/7.0/apache2/conf.d /20-mcrypt.ini, /etc/php/7.0/apache2/conf.d/20-mysqli.ini, /etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini, /etc/php/ 7.0/apache2/conf.d/20-pdo_sqlite.ini、/etc/php/7.0/apache2/conf.d/20-phar.ini、/etc/php/7.0/apache2/conf.d/20-posix。 ini, /etc/php/7.0/apache2/conf.d/20-readline.ini, /etc/php/7.0/apache2/conf.d/20-shmop.ini, /etc/php/7.0/apa che2/conf.d/20-simplexml.ini, /etc/php/7.0/apache2/conf.d/20-sockets.ini, /etc/php/7.0/apache2/conf.d/20-sqlite3.ini, /etc/php/7.0/apache2/conf.d/20-sysvmsg.ini, /etc/php/7.0/apache2/conf.d/20-sysvsem.ini, /etc/php/7.0/apache2/conf.d /20-sysvshm.ini, /etc/php/7.0/apache2/conf.d/20-tokenizer.ini, /etc/php/7.0/apache2/conf.d/20-wddx.ini, /etc/php/ 7.0/apache2/conf.d/20-xmlreader.ini、/etc/php/7.0/apache2/conf.d/20-xmlwriter.ini、/etc/php/7.0/apache2/conf.d/20-xsl。 ini, /etc/php/7.0/apache2/conf.d/20-zip.ini

【问题讨论】:

phpinfo Additional .ini files parsed 部分中是否列出了其他文件? 看看我的更新:) 您能否格式化您的文本并使其可读? 【参考方案1】:

它们可能已被 .htaccess http://docs.php.net/manual/en/configuration.changes.php#configuration.changes.apache 覆盖

甚至在php代码中http://php.net/manual/en/function.ini-set.php

【讨论】:

allow_url_*PHP_INI_SYSTEM 中是可更改的,并且在 htaccess 中编辑值将不起作用。【参考方案2】:

您可以尝试grep -r allow_url_include /etc/php/7.0 并查看该指令是否在您的配置路径中的其他任何地方定义。

另外,请确保您的 ini 文件中的设置前面没有分号,分号是注释。根据您的发行版,默认情况下可能会出现这种情况,它可能如下所示:

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
; allow_url_include = Off

因此,除了将设置更改为On,您还需要删除;

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
allow_url_include = On

【讨论】:

看起来 allow_url_include 和 allow_url_open 无处不在,并且没有在这些文件中被注释掉

以上是关于php设置根本不起作用的主要内容,如果未能解决你的问题,请参考以下文章

PHP会话根本不起作用

PHP strtr 根本不起作用

PHP HybridAuth 社交登录根本不起作用。重定向到 ?hauth.start=Facebook&hauth.time

ubuntu:.run 文件根本不起作用

最简单的形式根本不起作用[关闭]

requestLocationUpdates() 花费太多时间或根本不起作用