PHP INI位置的Joomla托管

配置文件

PHP启动时的配置文件(php.ini中)被读取。对于PHP的服务器模块的版本,这种情况只有在Web服务器再次起动。对于CGI和CLI版本,它发生在每次调用。

php.ini的搜索在这些位置(按顺序):
  • SAPI模块特定位置(Apache 2中PHPIniDir指令,在CGI和CLI -c命令行选项,在NSAPI php_ini参数,在THTTPD PHP_INI_PATH环境变量)
  • PHPRC环境变量。 PHP 5.2.0之前,这是下文提到的注册表键后检查。
  • 由于PHP 5.2.0中,php.ini文件的位置,可以为不同版本的PHP中进行设置。以下注册表项,以便检查:[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ X.Y.Z]。 [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x.y格式]和[HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ X]。其中X,Y和Z指的是PHP的主要,次要和发布版本。如果在这些键为IniFilePath值,找到了第一个将被用作php.ini文件的位置(仅适用于Windows)。
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP]。 IniFilePath(仅限于Windows)的价值。
  • 当前工作目录(对于CLI)。
  • Web服务器的目录(对于SAPI模块)或PHP目录(Windows下其它情况)。
  • Windows目录下(C:\ Windows或C:\ WINNT)(适用于Windows),或--with-配置文件路径编译时选项。
PHP在INI位置的Joomla主机上

如果PHP-SAPI.ini存在(其中,SAPI是在使用中的SAPI,所以,例如,PHP-cli.ini或PHP-apache.ini等),它是用来替代php.ini。可以与php_sapi_name来确定SAPI名称()。

Apache Web服务器改变在启动目录的根,导致PHP尝试,如果它的存在是为了从根目录下读取php.ini。

使用环境变量可以在php.ini中使用,如下所示。

实施例#1的php.ini环境变量

由扩展库处理的php.ini指令,记录了扩展自己在各页上。核心指令列表在附录中提供。不是所有的PHP指令都一定记录本手册中:在自己的PHP版本指令的完整列表,请参阅您的很好的注释php.ini文件。或者,你可能会发现“从Git的最新的php.ini也有帮助。

实施例#2的php.ini示例

自PHP 5.1.0起,有可能在.ini文件内引用已存在的.ini变量。例如:的open_basedir = $ “:/新/目录”。

扫描目录

它可以配置PHP阅读php.ini文件后,扫描目录中的.ini文件。这可以在编译时通过设置--with-配置文件扫描-dir选项来完成。在PHP 5.2.0及以后,扫描目录随后可以在运行时通过设置PHP_INI_SCAN_DIR环境变量覆盖。

PHP INI位置的Joomla托管在Windows,NetWare的

它可以通过它们与特定于平台的路径分隔符分隔扫描多个目录(;在Windows,NetWare和RISC OS;:在所有其他平台,可作为PATH_SEPARATOR恒定值PHP使用)。如果一个空白目录在PHP_INI_SCAN_DIR给出。 PHP也将扫描通过--with-配置文件 - 扫描 - 迪尔在编译时给出的目录。

在每个目录下,PHP会扫描按字母顺序排列的.ini结尾的文件。装载的是,以什么顺序文件的列表,可致电php_ini_scanned_files()。或通过运行PHP与--ini选项。

在php.ini您可以参考现有的指令或使用语法$的环境变量。

这里有些例子。

--- $将$ _ENV [“WINDIR”]在运行时替换

--- 您可以通过Apache的设置环境变量,并在php.ini中使用它们
--- FcgidInitialEnv作者 “WUXIANCHENG”
--- error_log中= “$ .LOG”

--- $将sys_temp_dir的值来代替

您也可以在php.ini中使用PHP的常量,但DONT'T包起来$<> 要么 ””。

--- 它的工作原理是这样的PHP代码:

$的error_log = “/数据/”。 PHP_VERSION。 “/”;

另外一个不错的功能是使用PHP的contants的能力:
例如:
的extension_dir = “” PHP_MAJOR_VERSION “ ”PHP_MINOR_VERSION“/ EXT”

该解决方案适用于我,当我需要强制的Windows Server 2012 R2上的PHP两个diferent版本 IIS:

对于一个应用中,地图* PHP扩展到CgiModule添加 “-c” 选项的可执行路径,这样的: “C:\ php53 \ PHP-cgi.exe文件-c C:\ php53 \ php.ini中”

对于其它应用,地图* PHP扩展到CgiModule添加 “-c” 选项的可执行路径,这样的: “C:\ php54 \ PHP-cgi.exe文件-c C:\ php54 \ php.ini中”

我认为这种方式是最干净的,因为没有必要与PATH变量或注册表或Windows目录下工作。

注:出于某种原因,这并没有FastCGI的模块上工作,涉及到的是IIS设置的可执行文件选项卡中不允许命令行选项的方式。

如果您有PHP的多个安装,并且“PHP --ini”不断加载相同的配置文件为每个版本的安装路径上的配置文件,而不是,它可能是值得检查Windows注册表。

我发现“HEKY_LOCAL_MACHINE \ SOFTEARE \ Wow6432Node \ PHP \ IniFilePath”一键重写任何安装,其原因“PHP --ini”崩溃说明与扩展的版本不匹配加载。

删除键 “HEKY_LOCAL_MACHINE \ SOFTEARE \ Wow6432Node \ PHP” 解决了这个问题。

我想关键是用Windows安装程序为IIS上的FastCGI,但只是猜测创建。

为了记录在案,一些引发的错误有:
“程序输入点php_sys_stat不能设在动态链接库php5.dll。”
“程序输入点php_checkuid不能设在动态链接库php5.dll。”

希望有人用这样一个烂摊子会发现这很有用。

看这个视频!

相关文章

白色空白页的Joomla托管基本上,一个空白页或屏幕出现在您的Joomla网站是在没有文字或错误信息所有错误页面。在大多数情况下,这种错误是由PHP的错误引起的...
学院雷斯费尔德的Joomla托管该项目由Amazon.com出售,目前专门预留给总理的成员。秘籍:欢迎Cheatbook,你的头号秘籍来源为所有视频游戏和游戏秘籍和...
Linux或Windows主机为JoomlaLinux是什么? Linux是由网站托管服务提供商使用的最流行的操作系统(OS)。到Microsoft Windows这种多用途和强大的替代方案是在各种免费提供,...
后端前端的Joomla托管非常重要:请附上包含您的Akeeba备份日志文件的ZIP文件,以便我们帮您解决任何备份或恢复问题。如果文件超过2MB,请上传...
机器人TXT的Joomla托管关于与/robots.txt简而言之网站所有者使用的/robots.txt文件给他们的网站,网络机器人的指令;这就是所谓的机器人排除协议。它的工作原理喜欢这样的:...