正在加载...

几段值得初学者研究的PHP代码段

in 沉思录 | 没有评论

无意在网络上看到这篇文章,想起了相当年偶独自苦学PHP的过程,马克下!

经典循环例子

<HTML>
<HEAD>
<TITLE>经典循环例子</TITLE>
</HEAD>
<BODY>
<?
for($counter = 1; $counter <= 6; $counter++) //循环6次
{
print("<B>counter is $counter</B><BR>n"); //打印6次
}
?>
</BODY>
</HTML>
for的高级运用
<HTML>
<HEAD>
<TITLE>for的高级运用</TITLE>
</HEAD>
<BODY>
<?
/*
** 打印必要的说明文字
*/
print("<B>距离星期一还有几天?</B>n");
print("<OL>n");
for($currentDate = date("U"); //定义$currentDate时间格式
date("l", $currentDate) != "Monday"; //判断是不是当前系统时间是Monday
$currentDate += (60 * 60 * 24)) //当前时间加上1天
{
/*
** 打印时间名称
*/
print("<LI>" . date("l", $currentDate) . "n");
}

print("</OL>n");
?>
</BODY>
</HTML> 完整内容...

关键字: ,

windows 2008 iis7 环境下 FastCgi PHP 模式配置

in IT互联网 | 没有评论

据说 iis7的 FastCgi 的效率是ISAPI模式的 130% 而且配置简单

需要 ISAPI 模式的同学可以参考这一篇

目前唯一正确的 Windows Server 2008 IIS 7.0下配置php,MySQL,Zend,phpMyadmin图解教程

Part I. 启用 IIS 7.x 中的 FastCGI 支持

依次打开 控制面板 | 程序和组件 | 开启或关闭Windows功能,英文版对应操作为 Control Panel | Programs and Features | Turn Windows Features On or Off. 然后按下图所示启用 FastCGI (勾选 CGI 将同时启用 CGI 和 FastCGI 支持)。其它项你应该根据自己的需要选择,我这里是为了突出显示才去掉了其他项目的勾选。

图一

如果是 IIS7.0,微软已经发布了一系列升级补丁来修正其中内置的 FastCGI 模块已知的部分问题,你可以根据自己的系统下载对应的补丁进行升级:

  • Update for Windows Server 2008
  • Update for Windows Server 2008 x64 Edition
  • Update for Windows Server 2008 for Itanium-based Systems
  • Update for Windows Vista SP1
  • Update for Windows Vista SP1 for x64 based Systems

    Part II. 安装和配置PHP

    微软官方文章里建议使用非安全线程版本的PHP(non-thread safe build of php),但是由于该版本下的Zend Optimizer的启用会比较复杂,而大部分商业PHP程序都是离不开Zend Optimizer的,所以建议仍然采用安全线程版本的PHP。请从 PHP官方网站 下载最新版本的 PHP Zip格式压缩包,本文写作时使用的是 PHP 5.2.9-2 版,下载地址:PHP 5.2.9-2 zip package

    下载以后,将其解压缩到任意目录(本文中使用 D:serverphp,后面所有涉及到此路径的地方均表示为 [PHP Install Dir]),然后将目录中的 php.ini-recommend 改名为 php.ini 。用任意的文本编辑器打开这个文件,查找并确认以下设置:

    • fastcgi.impersonate = 1
    • cgi.fix_pathinfo=1
    • cgi.force_redirect = 0
    • open_basedir 指向包含 php 程序的网站路径。 【可选项】
    • extension_dir = "./ext" ;注意:以往版本中这里往往要使用绝对路径,但是现在可以用这样的方式进行通用配置。
    • 删除你需要激活的php扩展加载项前面的分号,例如:
      extension=php_mssql.dll
      extension=php_mysql.dll
      注意:不是所有的项目都可以激活的,最好只激活你用到的,如果激活某一项之后运行不了,请重新注释掉该项并重启IIS。

    设置完毕以后,可以启动一个命令提示行窗口(cmd.exe),运行 [PHP Install Dir]/php –info 检查一下 php 是否可以正确运行,如果正确,会输出一系列的环境变量提示等。

    Part III. 配置 IIS 处理 PHP 请求

    打开 IIS 管理器,左边选择你的计算机,中间窗口点击“Handler Mapping”(中文版的朋友对照一下图标了,我不太确定在中文版操作系统中这个项目会翻译成什么),然后在右边点击“Add Module Mapping…”(添加模块映射)。

    在弹出的 Add Module Mapping 对话框中,按照下图填写(Executable(optional)一项请填写你自己的安装路径,即 [PHP Install Dir]/php-cgi.exe ):

    Add Module Mapping

    填写好之后,点 OK,会弹出一个确认对话框,问你是不是真的要添加这个模块映射。点 Yes 继续。

    file3

    到此就完成了 PHP 在 IIS 7.x 下的安装,在你的网站目录下创建一个文本文件,文件名后缀为.php,比如test.php,该文件的内容只有一行:

    <?php phpinfo(); ?>

    然后用浏览器浏览这个文件(通常是http://localhost/test.php),正常情况下,就会看到PHP的默认信息页面了。

    phpinfo

    根据不同的配置,看到的信息可能有所不同,我这里的抓图已经安装了 Zend Optimizer v3.3.3,默认当然是没有的,你可以自己下载并安装,Zend Optimizer 的安装和以前所有版本的一样,就算没有教程,跟着安装向导一步一步选择也能成功安装。我这里就不赘述了。此外还有 MySQL、PhpMyAdmin 等的安装,也都是一样的。虽然相关,但都和 IIS 版本无关。就不讲了。

    以前配置过PHP4,或者在 IIS 6.0 以前版本中以 ISAPI 方式配置过的朋友应该能发现,使用 FastCGI 方式在 IIS 7.x 中配置 PHP,已经大大简化,不用像 PHP 4那样向系统文件夹拷贝文件,不用像 IIS 6.0 以前版本那样修改环境变量,而且也不像 ISAPI 方式那样要设置 extension_dir 的绝对路径……

    总而言之,PHP 在 Windows 下已经不像以前一样仅仅是不得以而为之的一个东西,它的安全性、稳定性、运行效率已经大大提高。除了 Linux + Apache + PHP + MySQL,我们现在也可以很方便地使用 Windows + IIS + PHP + MYSQL 了。

  • 关键字: ,,,

    IIS下配置WordPress永久链接支持中文完美版

    in 沉思录 | 2 条评论

    今天在用站长工具查询博客中死链时发现,所有的中文Tag页面均是跳转到我的主题404页面,Google了之后,终于找到一个解决的办法,贴出来分享,让更多在Windows主机下挣扎的同胞们玩好WordPress。

    1、如:http://www.imwls.com/wordpress-iis-cut-index/

    2、打开wp-includes/classes.php文件,找到如下代码: 完整内容...

    关键字: ,,,

    Windows IIS主机中wordpress永久链接伪静态的方法

    in 沉思录 | 2 条评论

    前提条件是服务器提供商的控制面板有自定义404错误页面的选项。

    你只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。去掉网页地址中的index.php!

    <?php
    $qs = $_SERVER['QUERY_STRING'];
    $_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
    $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
    include('index.php');
    ?>

    这样即可固定REQUEST_URI和PATH_INFO参量并且包括进去index.php,剩下的将交给wordpress完成任务(说实话,这参数定义代码偶也不清楚,依葫芦画瓢即可)。

    具体设置步骤: 完整内容...

    关键字: ,,,,

    IIS优化篇二——使用eAccelerator加速PHP

    in 沉思录 | 没有评论

    前面说了启用Gzip 压缩减少带宽消耗以加速网站,今天说Windows2003服务器安装及设置教程——IIS优化第二篇:使用eAccelerator提高PHP执行效率。

    先说一下eAccelerator是什么,它是一个自由开放源码php加速器,优化和动态内容缓存,提高了性能php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍,他的官方网站地址是http://eaccelerator.net

    下面就说说启用eAccelerator的具体步骤:

    1. 确定已安装的PHP版本,如果忘记了安装的版本,可以使用phpinfo函数获得;
    2. 下载该PHP版本对应的eAccelerator,这里聚友提供一个支持PHP版本5.2.0到5.2.8的压缩包,点击此处下载eAccelerator,如果您安装的PHP版本不在该范围内,请到官方网站下载。
    3. 下载回去后选择PHP相对应的eAccelerator版本,解压到php的extension目录; 完整内容...

    关键字: ,,,,,,

    网址规范化问题最新解决方法

    in 沉思录 | 没有评论

    网址规范化一直是困扰站长以及搜索引擎的一个问题。据估计,网上有10%-30%的URL是内容相同但URL不一样的不规范化网址。

    这就造成几个问题。比如:

    • 对站长来说,多个URL存在分散了页面权重,不利于排名。
    • 对搜索引擎来说,浪费资源,浪费带宽。
    • 搜索引擎发现多个网址内容相同时,不会惩罚,而会尽可能找出那个应该是规范化的网址。但程序毕竟只是程序,可能出错,挑出来的可能不是站长想要的那个规范化网址。
    • 网站上网址规范化问题太严重的话,也可能影响收录。一个权重不很高的域名,能收录的总页面数字是有限的。搜索引擎把资源花在收录不规范的网址上,留下给真正不同内容的资源就减少了。

    要解决URL规范化问题也有很多选项 完整内容...

    关键字: ,,,,