http://blog.s135.com/nginx_php_v6参考文档
1.sudo tar zxvf nginx -0000.tar.gz
1.Cd nginx -0000
2../configure报错啦啊啊啊啊---nginx重写需要pcre支持。
下载pcre.解压sudo tar zxvf pcre------.tar.gz
3.然后进入到cd pcre-8.33,进行配置、编译、安装
Sudo ./configure
然后又报错啦啊啊啊啊,需要c++支持瓦
4.解决方法:需要先安装libtool和gcc-c++
sudo apt-get install libtool
sudo apt-get install gcc-c++
这算是安装完了libtool了吗。。没有提示瓦
安装gcc-c++,又错了。
在网上逛了半圈。终于找到答案了。。
在root用户权限下使用命令apt-get install gcc-c++ 提示couldn't find package
改用apt-get install build-essential安装就可以了
这样就安装成功了吧
接下来回到安装pcre吧。
执行编译sudo make(因为刚刚报错了。所以要再进行一次sudo .configure,然后make)
执行安装 sudo make install
完毕后,再回到正题。安装nginx时.configure报错的,现在再执行一次。
如图。提示需要zlib库。
那就安装zlib库
哎。Unable to locate package zlib
无法找到包Zlib
又要找方法了。。终于找到了。如下:
zlib的官网打不开,apt-get insatll zlib也找不到软件包,貌似不在软件源里?解决方法是打开ubuntu software center,搜索zlib,找到zlib1g-dev这个包,安装成功。
命令行方式:
sudo apt-get install zlib1g-dev
貌似成功了
现在问题貌似都解决了。再回到正题,安装nginx。刚刚是在.configure时出错的,现在再执行以下sudo ./configure
哇靠,终于不报错了。。
现在开始编译 sudo make
编译完成,如上图,开始安装sudo make install
安装完成了。。
安装完成后在/usr/local 下 会有个nginx目录,查看下。确实有,用nginx -v查看显 nginx 版本号的时候为什么会有这样事情呢。。。。
据他人说要切换到root安装那几个包。可是切换不了。还是按照如下方法搞定的
Su passwd root
Su -
回到什么的话题。刚刚提示了需要选择安装包,好吧
好吧。安装完毕后,重启nginx
在url地址栏中输入127.0.0.1 出现如下图:
这样子,over了吧
二.开始安装php
1.获取源码包
编译mysql报错。。
解决方法:
1)说明 curses/termcap 库没有安装
apt-cache search curses | grep lib
2)安装 libncurses5-dev ,然后重新运行配置
apt-get install libncurses5-dev
这样就是mysql完成了。。No,
看下方的错误。提示Libtool没有安装。可是我已经安装完成了
,还好找到了解决方法:看下图
打开 configure,把 $RM “$cfgfile” 那行删除掉,重新再运行 ./configure 就可以了
看到了吧。没有错了。。嘿嘿
Mysql编译出错
解决方法:
执行configure无错误,在make的时候却报:
make[2]: *** [do_abi_check] 错误 1
make[2]: Leaving directory `/tmp/mysql-5.5.3-m3′
make[1]: *** [abi_check] 错误 2
make[1]: Leaving directory `/tmp/mysql-5.5.3-m3′
make: *** [all-recursive] 错误 1
居然是mysql的bug
解决方法:
在configure完成之后,用你喜欢的编辑器打开Makefile,即do_abi_check:目标后的所有语句。
删除红色部分
do_abi_check:
set -ex; \
for file in $(abi_headers); do \
gcc -E -nostdinc -dI \
-I$(top_srcdir)/include \
-I$(top_srcdir)/include/mysql \
-I$(top_srcdir)/sql \
-I$(top_builddir)/include \
-I$(top_builddir)/include/mysql \
-I$(top_builddir)/sql \
$$file 2>/dev/null | \
/bin/sed -e '/^# /d' \
-e '/^[ ]*$$/d' \
-e '/^#pragma GCC set_debug_pwd/d' \
-e '/^#ident/d' > \
$(top_builddir)/abi_check.out; \
/usr/bin/diff -w $$file.pp $(top_builddir)/abi_check.out; \
/bin/rm $(top_builddir)/abi_check.out; \
done
解决完后,再次执行 sudo make ,这样子就可以正常编译了。要很久哦。。。
这样应该就编译好了吧
执行sudo make isntall安装
PHP安装
1.提示缺少libxml2,如下方法装上即可
2.又错了,缺少openssl
方法:
configure: error: Cannot find OpenSSL's <evp.h>
分类: 【php】2012-03-07 09:59 3745人阅读 评论(0) 收藏 举报
When compiling a software package that is dependent on OpenSSL, it might happen that your compiler will give you the following error:
configure: error: Cannot find OpenSSL’s <evp.h> or <hmac.h>
in this case, the compiler wants to tell you that you haven’t the openSSL developer library installed. Do so by:
sudo apt-get install openssl-dev(这个命令在ubuntu上不可以。需要使用下面的)
on some systems, like Ubuntu Feisty, you might need to use this command:
sudo apt-get install libcurl3-openssl-dev
3.错了。。
解决方法:
1. 装上他。。apt-get install libjepg-dev
2.拷贝过去cp -frp /usr/lib64/libjpeg.* /usr/lib/
sudo cp -frp /usr/lib/i386-linux-gnu/libjpeg.* /usr/lib/
第一个问题:configure: error: libjpeg.(a|so) not found 很多人都纳闷儿了,我都安装了的,为什么就找不到呢?找不到其实就应试想到它的搜索位置里面是没有的,要不然才不会说not found
原因是我们大部分一些软件只要rpm -qa | grep ***
这时下面就有两个重复的的软件
[root@test php-5.2.13]# rpm -qa | grep jpeg
libjpeg-6b-33
libjpeg-6b-33
libjpeg-devel-6b-33
32位和64位的都装了。你可以强制删除两个包,再重装64位的包。
rpm --allmatches --nodeps
这种方法真是损系统又损你.有时候强制执行的东西也会随便把lib中的一些包给强制删了.所以我不建议这么做,重复就让它重复吧,没关系的!
要解决问题就是它没找到,我安装了的,那我得去找找看它到底是放那里去了.
[root@test php-5.2.13]# updatedb
[root@test php-5.2.13]# locate libjpeg.so
/usr/lib64/libjpeg.so.62
/usr/lib64/libjpeg.so.62.0.0
/usr/lib64/libjpeg.so
/usr/lib/libjpeg.so
[root@test php-5.2.13]# locate libjpeg.a
/usr/lib64/libjpeg.a
/data0/software/jpeg-6b/libjpeg.a
[root@test php-5.2.13]#
我们在编译的时候经常看到一个库的文件,一般就是以*.a,*.so等名字的,尝试的搜索搜索,不行就模糊搜索!
通过上面的搜索其实就知道一些原因了,configure一般的搜索编译路径为/usr/lib/下,因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64.这时你就可以直接把需要的库文件从/usr/lib64中拷贝到/usr/lib/中去就可以了.
那么记得要在configure前执行如下的命令:
cp -frp /usr/lib64/libjpeg.* /usr/lib/
4.错了。。
安装php出现make: *** [sapi/cgi/php-cgi] Error 1
>安装php环境出现
ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1
我的编译是这样:
./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm
解决办法:
增加 – - disable-cli
Sudo make --disable-cli
Sudo make install --disable-cli
查询locate
Root执行还提示权限不够???
用ls -l 查看后,发现没有赋予可执行权限:
Chmod 744 phpini.sh ./phpini.sh即可
备注:安装张宴博客的来安装的话。有个地方需要更改:
加速器的内存:他设置了64M,这样太多了。会启动不来
eaccelerator.shm_size="16"
Linux的hosts文件位置:/etc/hosts