如何配置PHP使之能同时支持GIF,PNG和JPEG

2016-11-09 00:00:00临风 网页程序设计

  4、PHP-4.0.1pl2的安装和配置

  PHP的主要文件有libphp4.a, libphp4.so等。

  获取PHP源码的地址为:

  http://php.net

  取得的文件为php-4.0.1pl2.tar.gz,放于/usr/src目录下。

  进入/usr/src目录并解压文件:

  cd /usr/src

  tar xzvf php-4.0.1pl2.tar.gz

  命令完成后多了一个子目录php-4.0.1pl2,PHP的源码文件就在其中。

  进入该子目录:

  cd php-4.0.1pl2

  该目录中的INSTALL文件详细介绍了如何安装PHP,照章行事即可。

  配置生成Makefile文件:

  ./configure '--with-apxs=/usr/sbin/apxs' '--with-mysql'

  '--with-config-file-path=/etc/httpd' '--enable-safe-mode'

  '--with-system-regex' '--disable-debug'

  '--with-zlib' '--enable-magic-quotes' '--enable-track-vars'

  '--with-jpeg-dir=/usr/local' '--with-gd=/usr/local'

  注意最后一行参数'--with-jpeg-dir=/usr/local' '--with-gd=/usr/local',指明了Jpeg和GD的目录为/usr/local,这是根据步骤1、2中make install的结果而指定的。

  (由于命令太长,建议写成shell文件再执行。文件my-php-conf内容如下:

  #! /bin/sh

  ./configure '--with-apxs=/usr/sbin/apxs' '--with-mysql'

  '--with-config-file-path=/etc/httpd' '--enable-safe-mode'

  '--with-system-regex' '--disable-debug'

  '--with-zlib' '--enable-magic-quotes' '--enable-track-vars'

  '--with-jpeg-dir=/usr/local' '--with-gd=/usr/local'

  用shell执行之:

  sh my-php-conf

  效果是一样的。)

  命令完成后该目录下多了个Makefile文件。

  编译并安装:

  make

  make install

  命令完成后,libphp4.so被拷到/usr/lib/apache目录下。

  5、Apache的配置

  Apache本身不必重新编译安装,但使用了新的PHP,须让Apache知道,得修改Apache的配置文件并重启Apache服务。

  修改Apache配置文件/etc/httpd/conf/httpd.conf,使得文件中包含以下几行:

  LoadModule php4_module modules/libphp4.so

  AddModule mod_php4.c

  AddType application/x-httpd-php .php3 .php

  同时注意把旧的php3的相应行注释掉,否则会出现冲突而使Apache重启失败。

  重启Apache服务:

  /etc/rc.d/init.d/httpd restart

  5、 实例测试

  再次按步骤0的说明检查当前状态,我已经看到,PHP改成了新的版本号,GD库也同时支持GIF和JPEG了。

  但我还是想用实例来测试一下,这个例子的功能是读取一个gif文件,生成缩图,然后保存为另一个jpg文件。文件create-thumb.php的内容如下:

  

  function CreateThumbnail($srcFile, $dstFile, $dstW, $dstH)

  {

  $data = GetImageSize($srcFile,&$info);

  switch ($data[2]) {

  case 1:

  $im = @ImageCreateFromGIF($srcFile);

  break;

  case 2:

  $im = @ImageCreateFromJPEG($srcFile);

  break;

  case 3:

  $im = @ImageCreateFromPNG($srcFile);

  break;

  }

  $srcW=ImageSX($im);

  $srcH=ImageSY($im);

  if ($srcW <= $dstW && $srcH <= $dstH)

  ImageJPEG($im,$dstFile);

  else

  {

  if(($srcW / $srcH) > ($dstW / $dstH))

  $dstH = $dstW * $srcH / $srcW;

  else

  $dstW = $dstH * $srcW / $srcH;

  $ni=ImageCreate($dstW,$dstH);

  ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);

  ImageJPEG($ni,$dstFile);

  }

  }

  CreateThumbnail("./test.gif", "./test-tn.jpg", 80, 80);

  ?>

  把该文件放于Apahce的文档目录下(/etc/httpd/html),同时把测试用的图像文件test.gif也放于该目录下,然后用浏览器打开该php文件(我的hostname为zhangzh):

  http://zhangzh/create-thumb.php

  没出错信息。再看Apahce的文档目录(/etc/httpd/html),多了一个缩图文件test-tn.jpg。


PHP相关文章推荐:

1.php避免form表单重复提交

2.PHP获取今天开始和结束的时间戳

3.有关PHP的一些常用问题解答

4.深究Extended CHM PHP 语法手册之 DIY

5.浅析通如何加强php的安全

6.网页设计PHP5优秀书籍推荐

7.PHP打印输出函数用法详解

8.PHP对象注入的实例分析

9.简单分析PHP中序列化用法介绍

10.php自动加载__autoload()函数用法

[网页程序设计]相关推荐

[网页程序设计]相关栏目推荐
查看更多
上一篇:XFire创建WebService实例 下一篇:浅谈Ajax修改购物车的方法