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.save
和php.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 HybridAuth 社交登录根本不起作用。重定向到 ?hauth.start=Facebook&hauth.time