Azure网站上的PHP — 配置
来源:互联网 发布:吉他读谱软件 编辑:程序博客网 时间:2024/06/10 20:27
在前一篇文章中,我们讨论了Azure网站上的PHP架构。在本文中,我将详细介绍如何配置Azure网站上的PHP。
指定PHP版本
登录到Microsoft Azure管理门户网站,在您的网站的配置页面,在常规配置项下,您可以看到PHP版本配置。如下图所示,在默认情况下,所有网站默认启用PHP。目前Microsoft Azure网站支持PHP 5.3,PHP 5.4和PHP 5.5。默认版本为PHP 5.4。
修改PHP配置项
PHP配置分类
PHP配置项分为四类,下表描述了这四类配置选项的具体作用域。
类型作用域PHP_INI_USER可在用户脚本(例如通过ini_set())或者.user.ini文件中设定PHP_INI_PERDIR可在php.ini,.htaccess中设定PHP_INI_SYSTEM可在php.ini中设定PHP_INI_ALL可在任何地方设定
关于PHP配置选项分类以及作用域,请参考下面的文章。
http://php.net/manual/en/configuration.changes.modes.php
对于运行在Microsot Azure的PHP网站而言,您可以修改非系统级别的PHP配置。基于安全考虑,您不能修改系统级别的配置选项。其中系统级别配置是指类型为PHP_INI_SYSTEM配置项,这些配置项只能配置在php.ini文件中。修改系统级别配置会影响所有的用户,因此Azure网站不允许您修改系统级别的PHP配置选项。
下面的PHP文档列出了所有的PHP配置项。
http://www.php.net/manual/en/ini.list.php
使用.user.ini文件修改PHP配置选项
很多情况下,您的应用需要修改非系统级别的默认配置。比如,默认情况下,Azure网站中的PHP运行环境最大允许上传8M的文件。如果您的网站需要客户上传更大的文件,比如视频文件,您需要修改upload_max_filesize和post_max_size配置。默认情况下,PHP的最长执行时间为30秒。而在Microsoft Azure网站中,默认为300秒。如果希望PHP脚本执行更长时间,那么您需要修改max_execution_time设置。下面的步骤演示了在Microsoft Azure网站中如何修改非系统级别的配置选项。
- 创建一个.user.ini文件,该文件包含要修改的配置项。下面的配置将最大上传文件设置为16M,将PHP执行超时时间设置为120秒。
;allow PHP script run as long as 2 minutes
max_execution_time=120
; post_max_size > upload_max_filesize
Post_max_size=16M
; allow upload files up to 16M
upload_max_filesize=16M - 将该文件部署到网站的根目录下
- 登录到Microsoft Azure管理门户网站重新启动网站使修改立即生效。在Microsoft Azure网站的PHP设置中,user_ini.cache_ttl被设置为5分钟。该选项控制PHP保存配置的缓存时间。意味着如果您不重启网站,那么修改可能需要5分钟才能生效。
- 您可以通过phpinfo()函数来验证修改。比如创建一个phpinfo.php包含如下内容:
<?php phpinfo() ?>
并将该文件上传到您的网站根目录。 - 打开浏览器访问phpinfo.php文件,在Configuration部分您会看到您的设置覆盖了默认设置。下图显示了upload_max_filesize的修改结果。16M为您的网站设置,8M为全局的默认设置。
使用ini_set函数修改PHP配置项
.user.ini文件的设置应用于您的整个PHP站点。如果只希望针对某个PHP页面修改配置,那么您可以选择使用ini_set()函数。Ini_set()函数修改的配置项只应用于本页面中,在本页面执行结束后恢复默认设置,不影响其它页面。Ini_set()函数的具体函数定义和示例请参考PHP文档。
http://www.php.net/manual/en/function.ini-set.php
下面我们通过一个简单的场景来解释如何使用ini_set函数来修改PHP配置项。在Azure网站中,我部署了一个页面(error.php),但是该页面总是返回空白页面。如果使用IE调试功能,我发现该页面返回500错误。为了获取更多的页面错误信息,我写了一个简单页面如下:
<?php
ini_set('display_errors', 'stdout');
include("error.php");
?>
将该页面部署到Azure网站,访问该页面,显示如下信息。非常简单直接的告诉我们error.php的第二行有语法错误。
下一篇文章,我们将讨论如何配置自定义PHP版本。
- Azure网站上的PHP — 配置
- Azure网站上的PHP — 配置自定义版本PHP
- Azure网站上的PHP — 配置PHP扩展模块
- Azure网站上的PHP — 架构
- Azure网站上的PHP — XDebug
- Azure网站上的PHP — 排错
- Azure 网站上的 Java
- Windows Azure 网站上的 WebSocket 简介
- Windows Azure 网站上的 WordPress 3.8
- 删除 Windows Azure 网站上的标准服务器头
- 如何访问Azure上的SharePoint 网站(How to access the SharePoint site of Azure)
- WAMP配置详解 - Windows上的PHP网站。
- Azure 网站的新增功能:可配置的环境变量
- 进一步探索:Windows Azure 网站中解锁的配置选项
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
- Azure+PHP 网站如何设置伪静态
- 在Azure上实现网站的staging部署和部署交换
- Windows Azure 上的 Symfony,适用于 PHP 开发者的强大组合
- Populating Next Right Pointers in Each Node II
- JQuery replace字符串替换
- TMS320F28335项目开发记录9_28335之中断系统
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- c#流总结
- Azure网站上的PHP — 配置
- 工业机器人相关知识
- Openstack部署总结之:部署过程中“Error: Local ip for ovs agent must be set when tunneling is enabled”的问题
- ubuntu下mysql的'Access denied for user 'root'@'localhost
- mysql source code install method
- NGUI 鼠标事件点击时屏蔽其它鼠标事件
- RGB INT
- JAVA: List用法
- 网络请求部分-------HttpClient和HttpURLConnection