以前只是在线下做些实验,很多包都缺少,还有许多问题没有遇到过,这次在线上搭建的,遇到了很多问题,做下记录,谢谢大家支持!
参照此处做的http://www.php100.com/html/itnews/it/2013/0219/12062.html
并添加了一些别的模块和中间的一些问题的解决方法!
[iyunv@red5srv php]# tar zxvf libxml2-2.9.0.tar.gz
[iyunv@red5srv php]# cd libxml2-2.9.0
[iyunv@red5srv php]# ./configure --prefix=/usr/local/libxm12
/bin/rm: cannot remove `libtoolT': No such file or directory
Done configuring
这时直接打开 configure,把 $RM “$cfgfile” 那行删除掉,重新再运行 ./configure 就可以了。
[iyunv@red5srv php]# tar zxvf libmcrypt-2.5.8.tar.gz
[iyunv@red5srv php]# cd libmcrypt-2.5.8
[iyunv@red5srv libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[iyunv@red5srv libmcrypt-2.5.8]# make && make install
[iyunv@red5srv libmcrypt-2.5.8]# cd libltdl/
[iyunv@red5srv libltdl]# ./configure --enable-ltdl-install
[iyunv@red5srv libltdl]# make && make install
[iyunv@red5srv php]# tar zxvf zlib-1.2.7.tar.gz
[iyunv@red5srv php]# cd zlib-1.2.7
[iyunv@red5srv zlib-1.2.7]# ./configure --prefix=/usr/local/zlib
[iyunv@red5srv zlib-1.2.7]# make && make install
[iyunv@red5srv php]# tar zxvf libpng-1.5.14.tar.gz
[iyunv@red5srv php]# cd libpng-1.5.14
[iyunv@red5srv libpng-1.5.14]# ./configure --prefix=/usr/local/libpng
[iyunv@red5srv libpng-1.5.14]# make && make install
[iyunv@red5srv php]# mkdir /usr/local/jpeg8
[iyunv@red5srv php]# mkdir /usr/local/jpeg8/bin
[iyunv@red5srv php]# mkdir /usr/local/jpeg8/lib
[iyunv@red5srv php]# mkdir /usr/local/jpeg8/include
[iyunv@red5srv php]# mkdir -p /usr/local/jpeg8/man/man1
[iyunv@red5srv php]# tar zxvf jpegsrc.v8b.tar.gz
[iyunv@red5srv php]# cd jpeg-8b/
[iyunv@red5srv jpeg-8b]# ./configure --prefix=/usr/local/jpeg8 --enable-share --enable-static
[iyunv@red5srv jpeg-8b]# make && make install
[iyunv@red5srv php]# tar zxvf freetype-2.4.10.tar.gz
[iyunv@red5srv freetype-2.4.10]# ./configure --prefix=/usr/local/freetype
[iyunv@red5srv freetype-2.4.10]# make && make install
[iyunv@red5srv php]# tar zxvf autoconf-2.69.tar.gz
[iyunv@red5srv php]# cd autoconf-2.69
[iyunv@red5srv autoconf-2.69]# ./configure && make && make install
[iyunv@red5srv php]# tar zxvf gd-2.0.35.tar.gz
[iyunv@red5srv php]# cd gd-2.0.35
[iyunv@red5srv gd-2.0.35]# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg8 --with-freetype=/usr/local/freetype/ --with-png=/usr/local/libpng/
[iyunv@red5srv gd-2.0.35]# make && make install
[iyunv@red5srv php]# yum remove apr apr-util
[iyunv@red5srv php]# tar zxvf apr-1.4.6.tar.gz
[iyunv@red5srv php]# cd apr-1.4.6
[iyunv@red5srv apr-1.4.6]# ./configure --prefix=/usr/local/apr-httpd/
[iyunv@red5srv apr-1.4.6]# make && make install
[iyunv@red5srv php]# tar zxvf apr-util-1.5.1.tar.gz
[iyunv@red5srv apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
[iyunv@red5srv apr-util-1.5.1]# make && make install
[iyunv@red5srv php]# unzip pcre-8.32.zip
[iyunv@red5srv php]# cd pcre-8.32
[iyunv@red5srv pcre-8.32]# ./configure --prefix=/usr/local/pcre
[iyunv@red5srv pcre-8.32]# make && make install
[iyunv@red5srv php]# tar zxvf httpd-2.4.3.tar.gz
[iyunv@red5srv php]# cd httpd-2.4.3
[iyunv@red5srv httpd-2.4.3]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-deflate \
> --enable-speling --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-so \
> --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-z=/usr/local/zlib/ \
> --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ --with-pcre=/usr/local/pcre/ \
> --disable-userdir
[iyunv@red5srv httpd-2.4.3]# make && make install
[iyunv@red5srv conf]# /usr/local/apache/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.0.52. Set the 'ServerName' directive globally to suppress this message
[iyunv@red5srv conf]#
[iyunv@red5srv php]# tar zxvf php-5.4.11.tar.gz
[iyunv@red5srv php]# cd php-5.4.11
[iyunv@red5srv php-5.4.11]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/data/mysql --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/data/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
[iyunv@red5srv php-5.4.11]# make
/root/php/php-5.4.11/ext/gd/gd_ctx.c:153: 错误:‘gdIOCtx’ 没有名为 ‘data’ 的成员
make: *** [ext/gd/gd.lo] 错误 1
解决方法如下:
好像说这个错误算是php5.4的bug
[iyunv@red5srv php-5.4.11]# vi /usr/local/gd/include/gd_io.h
typedef struct gdIOCtx
{
int (*getC) (struct gdIOCtx *);
int (*getBuf) (struct gdIOCtx *, void *, int);
void (*putC) (struct gdIOCtx *, int);
int (*putBuf) (struct gdIOCtx *, const void *, int);
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
void (*data);
}
gdIOCtx;
[iyunv@red5srv php-5.4.11]# cp php.ini-development /usr/local/php/etc/php.ini
[iyunv@red5srv etc]# vi /usr/local/apache/conf/httpd.conf
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
重启apache 发现apache起来了,但是php页面不能加载
查看日志报错如下
[Mon Sep 02 20:44:26.307685 2013] [mpm_event:notice] [pid 28619:tid 47071720532656] AH00489: Apache/2.4.3 (Unix) PHP/5.4.11 configur
ed -- resuming normal operations
[Mon Sep 02 20:44:26.307771 2013] [core:notice] [pid 28619:tid 47071720532656] AH00094: Command line: '/usr/local/apache/bin/httpd'
经百度发现是 加固时限制系统资源会导致此故障
解决方法
[iyunv@red5srv logs]# vi /etc/security/limits.conf
# End of file
#* hard nofile 65536
#* soft nofile 65536
[iyunv@red5srv logs]# /usr/local/apache/bin/apachectl restart
网页显示正常了,但是页面date出现这么一个警告,百度查后结果是发现从php5.3 ,当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息。
解决方法是
修改php.ini。打开php.ini查找date.timezone 去掉前面的分号修改成为:date.timezone =PRC
g: phpinfo(): It is not safe to rely on the system's timezone settings. You
添加pdo_mysql模块
[iyunv@red5srv php]# tar zxvf PDO_MYSQL-1.0.2.tgz
[iyunv@red5srv php]# cd PDO_MYSQL-1.0.2
[iyunv@red5srv PDO_MYSQL-1.0.2]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
[iyunv@red5srv PDO_MYSQL-1.0.2]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/data/mysql
[iyunv@red5srv PDO_MYSQL-1.0.2]# make
/root/php/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:36: ′?£oexpected specifier-qualifier-list before ??MYSQL?ˉ
/root/php/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:48: ′?£oexpected specifier-qualifier-list before ??MYSQL_FIELD?ˉ
/root/php/PDO_MYSQL-1.0.2/php_pdo_mysql_int.h:53: ′?£oexpected specifier-qualifier-list before ??MYSQL_RES?ˉ
make: *** [pdo_mysql.lo] ′? 1
[iyunv@red5srv PDO_MYSQL-1.0.2]# ln -s /data/mysql/include/mysql/* /usr/local/include/
[iyunv@red5srv PDO_MYSQL-1.0.2]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
[iyunv@red5srv PDO_MYSQL-1.0.2]# vi /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20100525/"
extension = "pdo_mysql.so"
重启apache,终于完工了!
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com