安装PHP时 jpeglib.h:954: error:expected declaration specifiers or ‘...’ before ‘FILE’ 错误解决


In file included from /sever/php/php-5.3.6/ext/gd/libgd/gd_compat.c:8:
/usr/local/jpeg8//include/jpeglib.h:954: error: expected declaration specifiers or ‘...’ before ‘FILE’
/usr/local/jpeg8//include/jpeglib.h:955: error: expected declaration specifiers or ‘...’ before ‘FILE’

make: *** [ext/gd/libgd/gd_compat.lo] Error 1


PHP版本:php-5.3.6.tar.gz

GD版本:gd-2.0.33.tar.gz 


这个问题应该是 库 文件路径问题

检查gd安装参数,并安装libxml2



 1.安装gd之前,修改gd源码包目录下的gd_png.c

gd_png.c
进入该文件,找到“#include png.h”改成“/usr/local/libpng/include/png.h”)

【根据自己安装libpng的目录修改】


然后在 ./configure .......安装gd。



2.安装php之前,修改php源码包下的gd_compat.c

路径:【/php-5.3.6/ext/gd/libgd】

【根据自己安装libpng的目录修改】


然后在 ./configure .......安装php



不清楚的话按照下面的顺序安装吧:


PHP Version 5.3.6
安装包名称:php-5.3.6.tar.gz

 

 

编译PHP前安装GD库相关套件【点此下载




[root@localhost LAMP]# tar zxvf zlib-1.2.5.tar.gz 
[root@localhost zlib-1.2.5]#cd zlib-1.2.5
[root@localhost zlib-1.2.5]#./configure --prefix=/usr/local/zlib/
[root@localhost zlib-1.2.5]#make
[root@localhost zlib-1.2.5]#make install



[root@localhost LAMP]#tar zxvf freetype-2.4.3.tar.gz 
[root@localhost freetype-2.4.3]#cd freetype-2.4.3
[root@localhost freetype-2.4.3]#./configure --prefix=/usr/local/freetype
[root@localhost freetype-2.4.3]#make
[root@localhost freetype-2.4.3]#make install

 

 

[root@localhost LAMP]#tar zxvf libpng-1.5.2.tar.gz 
[root@localhost LAMP]#cd libpng-1.5.2
[root@localhost  libpng-1.5.2]#./configure –prefix=/usr/local/libpng
[root@localhost libpng-1.5.2]#make
[root@localhost libpng-1.5.2]#make install

 

[root@localhost LAMP]#tar -zxvf jpegsrc.v8c.tar.gz 
[root@localhost LAMP]#cd jpeg-8c/
[root@localhost  jpeg-8c]#mkdir -p /usr/local/jpeg/bin
[root@localhost  jpeg-8c]#mkdir -p /usr/local/jpeg/lib
[root@localhost  jpeg-8c]#mkdir -p /usr/local/jpeg/include
[root@localhost  jpeg-8c]#mkdir -p /usr/local/jpeg/man/man1
[root@localhost jpeg-8c]#./configure --prefix=/usr/local/jpeg--enable-shared --enable-static
[root@localhost  jpeg-8c]#make
[root@localhost  jpeg-8c]#make install

 

[root@localhost LAMP]#tar zxvf gd-2.0.33.tar.gz 
[root@localhost LAMP]#cd gd-2.0.33

[root@localhostgd-2.0.33]    修改当前目录下的gd_png.c

编辑   gd_png.c
进入该文件,找到“png.h”改成“/usr/local/libpng/include/png.h”)

【根据自己安装libpng的目录修改】




[root@localhost gd-2.0.33]#./configure --prefix=/usr/local/gd--with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png=/usr/local/libpng


[root@localhost gd-2.0.33]#make
[root@localhost gd-2.0.33]#make install

 

安装libxml2

[root@localhost LAMP]# tar –zxvf libxml2-2.7.2.tar.gz

[root@localhost LAMP]#cd libxml2-2.7.2

[root@localhost libxml2-2.7.2]# ./configure –prefix=/usr/local/libxml

[root@localhost libxml2-2.7.2]# make

[root@localhost libxml2-2.7.2]# make install

 

安装PHP

[root@localhost LAMP]#tar zxvfphp-5.3.6.tar.gz 
[root@localhost LAMP]#cd php-5.3.6

[root@localhost php-5.3.6]#cd /root/LAMP/php-5.3.6/ext/gd/libgd

[root@localhost libgd]#vi gd_compat.c

【根据自己安装libpng的目录修改】



[root@localhost libgd]# cd /root/LAMP/php-5.3.6
[root@localhost php-5.3.6]# ./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs--with-gd=/usr/local/gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg   --with-zlib --with-freetype-dir=/usr/local/freetype--enable-magic-quotes --with-mysql=/software/mysql--with-mysql-sock=/tmp/mysql.sock --with-iconv --enable-mbstring --enable-ftp--with-config-file-path=/usr/local/php/etc --with-pear=/usr/local/php/pear--enable-sockets --with-libxml-dir=/usr/local/libxml/ [root@localhost php-5.3.6]#cd/LAMP/php-5.3.6/

[root@localhost php-5.3.6]#make

[root@localhost php-5.3.6]#make install

[root@localhost php-5.3.6]#cpphp.ini-development  /usr/local/php/etc/php.ini 【cp php-x.x.x/php.ini-dist /opt/php/etc/php.ini   新版的 php.ini-development相当于旧版本的php.ini-dist】
[root@localhost LAMP]#vim   php.ini 




修改配置文件vim /usr/local/php/etc/php.ini:
register_globals = On


然后编写php测试页info.php:内容如下:


<?php
phpinfo();
?>




查看/usr/local/apache/conf/httpd.conf文件,看是否存在语句(如果安装的Php5):
LoadModule php5_module       modules/libphp5.so
如果存在,即说明apache已经成功加载了php模块;

【重启apache服务】
# apachectl restart
将info.php放置到/usr/local/apache/htdocs 目录下;
# chmod 755 info.php
在浏览器中能在该页面中看到php的信息则说明安装成功!
注:启用了SELinux的FC或RedHat会提示权限问题并导致Php无法正常工作,禁用SELinux后重启系统即可解决问题。

 



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值