




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
从今天开始,我们会陆续推出 PHP on Windows Azure 入门教学文章。PHP是一种非常流行的,主要用于处理动态网页的脚本语言。PHP用户对于能在Windows Azure平台内运行PHP应用必定会感到惊喜。我们知道,微软Windows Azure平台相较与其他云计算平台的优势之一便在于其拥有便利的开发工具和熟悉的编程语言的先天优势。下我们就来看看,在Windows Azure内运行PHP应用是多么的简单和轻松。前置条件: PHP IIS 7 (开启 ASP.NET, WCF HTTP Activation) Microsoft Visual Studio 2008 SP1 (或更高) Windows Azure Tools for Microsoft Visual Studio (June 2010) 代码:1.首先,我们从/download/ 处下载非线程安全的最新版PHP.笔者下载的是VC9 x86 Non Thread Safe (2010-Mar-04 20:11:07)版本。在下载页的侧边栏,我们可以看到VC6和VC9版本的差别,VC6版是用Visual Studio 6编译器编译的,而VC9版本是Visual Studio 2008编译器编译的,性能和稳定性都有提高。至于线程安全与非线程安全的区别在于Windows 操作系统采用多线程架构,而Linux和Unix采用多进程架构。具体请参看这里和这里。2.打开Visual Studio,新建项目-Visual C#-Cloud-Windows Azure Cloud Service。输入项目名称CloudService1,之后点击OK。添加CGI_Web Role,重命名为PHP_WebCgiRole。点击ok。3.在PHP_WebCgiRole项目内,新建目录,命名为php。将第一步下载的PHP解压至该目录。如下图:4 在PHP_WebCgiRole项目内新建文件,命名为index.php。在index.php写入如下代码:5.打开PHP_WebCgiRole项目内Web.roleConfig,将内容修改为下图:6打开PHP_WebCgiRole项目内Web.config,为应用程序配置默认页面。定位到system.webServer,在最后加入如下粗体代码: . . . 7. 配置FastCGI Handler。在刚加入代码的上方,将内容修改如下图:验证:8此时按下F5,调试程序。我们有可能会看到如下错误。因为我们会在本地模拟Windows Azure环境,需使用本地IIS。而我们还可能没有为IIS设置好FastCGI模块。(另,此程序已经可直接部署至Windows Azure,并可运行)。打开我的电脑,添加删除程序,打开或关闭Windows 功能, 在Internet Information Services下,勾选CGI选项,如下图:重新按F5,调试,我们会看到在浏览器中如下内容:我们看到我们的PHP版本号是5.3.2。 按Shift+F5 退出调试。右击CloudService1项目,Publish ,选择Create Service Package Only。我们将2个部署文件部署至Windows Azure 云端之后(具体部署过程请参看这里),通过网址访问 ,便能看到如下内容:可以看到PHP程序已经成功的运行在了Windows Azure云端,是不是非常简单呢?在下一篇文章中,我们会讲解如何以PHP连接到SQL Azure数据库上,敬请期待。本文是PHP on Windows Azure 入门教学系列第二篇文章。请上一篇文章中,我们已经成功的在Windows Azure中运行了PHP应用。本文会讲解如何以PHP连接至SQL Azure。请读者按顺序阅读本教学系列,因为本文会用到上一篇文章中所创建的项目。代码:1.想让PHP代码能够连接到SQL Azure,首先我们必须为PHP加入SQL Server的驱动模块。(SQL Azure 构建于SQL Server技术之上)。从这里下载到SQL Server Driver for PHP 2.0 CTP2 - June 2010。2 解压之后,我看到有如下文件。驱动为phpp_sqlsrv开头的dll,php_pdo开头的dll为其对应的PDO拓展模块。52,53对应的是PHP版本,PHP5.2 和PHP5.3。nts 代表non-thread-safe,ts代表thread-safe。前一篇文章选择的是PHP5.3.2 非线程安全版本,所以我们的SQL Server驱动便是php_sqlsrv_53_nts_vc9.dll。3 将php_sqlsrv_53_nts_vc9.dll 拖入PHP_WebCgiRole项目内,php目录下的ext目录。同时,找到php目录下,php.ini-develop文件,重命名为php.ini。并右击php.ini-Properties。将其Build Action 改为Content。打开php.ini。搜索extension_dir。将对应处 改为如下:此举告知程序在ext目录下搜寻拓展模块。同时将extension = php_sqlsrv_53_nts_vc9.dll 添加到php.ini。如下图;4. 再将先前的index.php的内容替换如下(参考上一篇文章): ExampleDB,UID = UsernameServerID,PWD = Password,);$conn = sqlsrv_connect($serverName, $connectionOptions);if($conn = false) die(print_r(sqlsrv_errors(), true);elseecho “success”;?5.参考SQL Azure 入门教学(一):SQL Azure之初体验该文,将上一步 黄框内容替换为相应信息。6按F5 ,调试程序。我们应该能够在浏览器看到success 字样。这表示我们的sql server 驱动已安装成功,并且能够连接至SQL Azure。7 接下来我们创建为数据库新建一个数据表。在原有代码下方添加如下代码:$createTBLsql = CREATE TABLE dbo.VisitCounterTbl( ID int IDENTITY(1,1) NOT NULL, IPAddress varchar(15) NOT NULL, VisitTime datetime NOT NULL, CONSTRAINT PK_VisitCounterTbl PRIMARY KEY CLUSTERED ( ID ASC ) ) ;$createTBLstmt = sqlsrv_query($conn, $createTBLsql);if($createTBLstmt = false) die(print_r(sqlsrv_errors(), true);else echo Table successfully created.;执行后 ,应该能在网页看到Table successfully created消息。这样,我们便能在数据库下看到有VisitCounterTbl,它有三个字段,ID,访问者IP(IPAddress),访问时间(VisitTime)。(注意,本文的访问计数器只做演示之用)8将index.php代码替换为如下内容 : Counter Welcome! Windows Azure $database, UID = $user, PWD = $pass );$conn = sqlsrv_connect($server, $connectionoptions);if($conn = false) die(print_r(sqlsrv_errors(), true);$insertSql = INSERT INTO VisitCounterTbl (IPAddress,VisitTime) VALUES (?,GETDATE();$ip = $_SERVERREMOTE_ADDR;$stmt = sqlsrv_query($conn, $insertSql, array(&$ip);if($stmt = false)die(print_r(sqlsrv_errors(), true);else $sql = SELECT COUNT(ID) FROM VisitCounterTbl;$stmt3 = sqlsrv_query($conn, $sql);if($stmt3 = false)die(print_r(sqlsrv_errors(), true);if(sqlsrv_has_rows($stmt3)$row = sqlsrv_fetch_array($stmt3);echo You are the $row0(th) visitor.Your IPAddress is $ip;? 同样的,将上述代码的 黄框内容替换为相应信息。当访问者每次访问时,代码每次插入一条记录,并取出所有的记录数量作为网站总访问次数。(注意,本文的访问计数器只做演示之用)9.我们将项目部署至Windows Azure上。具体部署步骤请参看这里。之后通过网址访问,能看到如下内容:本文是PHP on Windows Azure 入门教学系列第三篇文章。请上一篇文章中,我们已经成功的在Windows Azure中运行了PHP应用,并结合了SQL Azure的使用。本文会解如何将Wordpress部署至Windows Azure。请读者按顺序阅读本教学系列,因为本文会用到上一篇文章中所创建的项目。代码: 1 点击这里下载Wordpress 程序包。Wordpress默认使用MySQL作为其数据库。而我们下载的Wordpress程序包是由/网站改写过的。将其解压至PHP_WebCgiRole)(请参考第一篇文章) 项目目录下,如下图: 2 将上图wp-config-sample.php文件重命名为wp-config.php文件(该文件是Wordpress的配置文件),并打开,填入数据库连接信息(请参考本教程第二篇文章),如下图: 注意将DB_TYPE 改为sqlsrv,以连接SQL Azure数据库。 3 打开wp-settings.php,找到147行,注释掉如下语句: if ( !extension_loaded(mysql) & !file_exists(WP_CONTENT_DIR . /db.php) ) die( /*WP_I18N_OLD_MYSQL*/Your PHP installation appears to be missing the MySQL extension which is required by WordPress./*/WP_I18N_OLD_MYSQL*/ ); 4 打开wp-admin目录下的setup-config.php,找到57行,注释掉如下语句: if ( !extension_loaded(mysql) & !file_exists(ABSPATH . wp-content/db.php) )wp_die( /*WP_I18N_OLD_MYSQL*/Your PHP installation appears to be missing the MySQL extension which is required by WordPress./*/WP_I18N_OLD_MYSQL*/ ); 我们说过Wordpress默认以MySQL作为数据库,所以Wordpress会检查PHP是否加在了php_mysql.dll模块。(当然您也可以在php.ini文件中移除掉;extension=php_mysql.dll的注释 以加载mysql 模块。) 5 打开Web.Config,在 tag内添加如下配置。(错误信息的显示模式为详细,同时添加URL重写的支持) 6 目前为止,我们的程序已经可以部署至Windows Azure之上。但是这里我们先给Wordpress添加使用Windows Azure Storage的功能。 7 先从这里,下载到 Windows Azure Storage for WordPress 插件。以及这里,下载到Windows Azure SDK for PHP v1.0.1。 8 在插件解压后放入wp-content 下plugins目录下。 将SDK解压后,将library下Microsoft文件夹添加入PHP_WebCgiRole项目目录下。如下图: 9 在php.ini中找到;extension=php_curl.dll,将其分号去除,移除掉注释。因为该插件会用到CURL 模块。 10 参考第二篇文章,将项目部署至Windows Azure。通过网址打开所部署的网站,如下图 11 输入 博客名称 和Email 地址,点击Install Wordpress 来安装博客。并按照后续提示,进行操作。 12 在后台控制面板,点击plugins 下的Installed 的标签,在右面我们会看到Win
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版企业级Excel模板共享服务合同管理规范协议
- 2025年度商务用车租赁合同(含品牌保障及违约责任)
- 2025年企业员工培训经费专项借款合同模板
- 2025年度城市综合体建设项目综合服务合同
- 2025茶叶品牌形象创新设计执行合同
- 2025年精密数控机床安装与调试服务合同
- 2025年度有机大米认证采购服务合同书
- 2025-2030中国收获机械市场运营形势解析与前景监测调研报告
- 储能电池充放电控制策略方案
- 2025年一线城市房地产行业前景分析及投资机遇研究报告
- 核电站的事故应急预案演练
- 中科院2022年物理化学(甲)考研真题(含答案)
- 系统规划与管理师教程
- 导游如何提高自身的解说与讲解技能
- 《光的相干性》课件
- 2024年河北电工理论考试试题电工技师考试内容(全国通用)
- 铁路信号工(普速车站与区间信号设备维修)
- 一只窝囊的大老虎第二课时
- 新部编五年级上册语文全册表格式教案(含教学反思)
- 40篇 短文搞定3500词汇
- 什么是朗诵艺术与技巧
评论
0/150
提交评论