CentOS6.5下安装Apache2.4+PHP7
CentOS6.5下安裝Apache2.4+PHP7
http://blog.csdn.net/along602/article/details/42695779
http://www.th7.cn/Program/php/201511/691594.shtml
http://jingyan.baidu.com/article/d2b1d10299bda55c7f37d466.html
1,準備工作,首先要下載所需軟件的源碼包,有如下這些:
apr-1.5.1.tar.bz2
apr-util-1.5.4.tar.bz2
pcre-8.36.tar.bz2
httpd-2.4.10.tar.bz2
php-7.0.20.tar.gz
?
把所有的源碼包上傳到服務器上/var/lamp目錄下
cd /var/lamp
首先要安裝Apache的依賴庫
tar jxvf?apr-1.5.1.tar.bz2
tar jxvf apr-util-1.5.4.tar.bz2
tar jxvf?pcre-8.36.tar.bz2
tar jxvf?httpd-2.4.10.tar.bz2
tar zxvf?php-7.0.20.tar.gz
cd apr-1.5.1
./configure --prefix=/usr/local/apr
make && make install
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd pcre-8.36
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
2,安裝Apache2.4
?
首先要安裝Apache的依賴庫
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
pcre-8.36.tar.gz
?
tar zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
?
tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
?
tar zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
?
安裝PCRE的時候遇到如下錯誤:
You need a C++ compiler for C++ support
解決方案是:
yum install -y gcc gcc-c++
注意:這個-y千萬不能少。
?
?
可以開始安裝Apache了,
解壓縮
cd httpd-2.4.17
./configure ?--prefix=/usr/local/apache2 ?--with-apr=/usr/local/apr ?--with-apr-util=/usr/local/apr-util ?-with-pcre=/usr/local/pcre ?--enable-so--enable-rewrite
make && make install
?
注意:--enable-so--enable-rewrite 中間不能有空格
?
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
service httpd start
cd /usr/local/apache2/bin
./httpd -v 出現版本號
http://www.xxx.com 訪問出現
It works!
測試是否安裝成功
?
2,安裝PHP7
cd /var/lamp/php-7.0.20
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf?--with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
make && make install
錯誤1?如果你在執行./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli --with-pdo-mysql --enable-mbstring時,出現這樣的錯誤
configure:error:xml2-config not found.Please check your libxml2 installation.
說明需要libxml2,用yum裝一下:yum -y install libxml2 libxml2-devel
裝完libxml2后,就可以正常地進行php的源碼安裝了
錯誤2?解決 Cannot find OpenSSL's <evp.h>
yum install openssl openssl-devel
錯誤3?Please reinstall the libcurl distribution -
easy.h should be in <curl-dir>/include/curl/
?
其實就是curl的dev包沒有安裝, 解決方案:yum -y install curl-devel
錯誤4?error: png.h not found.
yum install libpng libpng-devel
錯誤5?error: freetype-config not found.
yum install freetype-devel
錯誤6?error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum install libxslt-devel
出現
Thank you for using PHP.
config.status: creating php7.spec
就代表安裝成功了。
?
1,在Vim中搜索”DirectoryIndex“字符串,大家可以看到已經有index.html了,在index.html后面添加你想讓apache識別的DirectoryIndex
在/user/local/apache2/conf/httpd.conf配置文件中再添加一段指令:
<FilesMatch "\.ph(p[2-6]?|tml)$">
? ? SetHandler application/x-httpd-php
</FilesMatch>
這段指令告訴apache,碰到文件名以
.php, .php2, .php3, .php4, .php5, .php6或phtml結尾的文件使用
libphp7.so模塊進行解析。
其中"\.ph(p[2-6]?|tml)$"為正則表達式,你可以隨意更改,只要符合PCRE正則表達式語法,都可以。
2,接下來,在Vim中搜索”DirectoryIndex“字符串,大家可以看到已經有index.html了,在index.html后面添加你想讓apache識別的DirectoryIndex?
<IfModule dir_module>
DirectoryIndex index.html index.php index.phtml
</IfModule>
?
3,修改PHP的配置文件php.ini
進入php源碼目錄,選擇php.ini-development復制一份到/usr/local/apache2/conf,并改名為php.ini使用vi打開,查找extension_dir,修改為extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20131226",讀者根據自己的PHP安裝目錄結構配置,目的是找到PHP的擴展庫。?
查找extension=php_,去掉extension=php_curl.dll,extension=php_gd2.dll,extension=php_mbstring.dll,extension=php_mysql.dll,extension=php_mysqli.dll,extension=php_pdo_mysql.dll,extension=php_xmlrpc.dll前面?的分號。查找short_open_tag = Off把它修改成short_open_tag = On,讓其支持短標簽(我看注釋這個默認是打開的)。
?
?
從別人的服務器上我還拷貝了如下文件放到
/usr/local/php/lib/php/extensions/no-debug-zts-20131226目錄,
文件如下:
Imap.so
Mcrypt.so
Memcache.so
Openssl.so
Zip.so
?
然后在php.ini的最后增加如下配置文字:
extension=memcache.so
extension=openssl.so
extension=mcrypt.so
extension=zip.so
? ?
?
?
?
4,修改Apache配置文件httpd.conf相關修改以支持PHP
vi /usr/local/apache/conf/httpd.conf
?? 添加php支持。
【添加字段一】
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
?
【添加字段二】
<FilesMatch /.php$>
SetHandler application/x-httpd-php
</FilesMatch>
?? 添加默認索引頁面index.php,再找到“DirectoryIndex”,在index.html后面加上“ index.php”
DirectoryIndex index.html index.php
?? 3. 不顯示目錄結構,找到“OptionsIndexes FollowSymLinks”,修改為
Options FollowSymLinks
?? 4. 開啟Apache支持偽靜態,找到“AllowOverride None”,修改為
AllowOverride All
?
重啟Apache
service httpd restart
?
提醒:實在不知道怎么配置,就找個已經搭建成功的服務器把配置文件弄過來對比一下。
?
此時還會遇到如下報錯:
httpd:?Could?not?reliably?determine?the?server's?fully?qualified?domain?name
解決辦法:
linux : /usr/local/apache/conf
用記事本打開httpd.conf
將里面的#ServerName?localhost:80注釋去掉即可。
啟動apache遇到錯誤:httpd: Could not reliably determine the server's fully qualified domain name
[root@server httpd-2.2.4]# /usr/local/apache/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
1)進入apache的安裝目錄:(視個人安裝情況而不同) [root@server ~]# cd /usr/local/apache/conf
2)編輯httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80
?
?到此,整個Apache+PHP5.6的環境搭建完畢。
轉載于:https://www.cnblogs.com/as3lib/p/7005722.html
總結
以上是生活随笔為你收集整理的CentOS6.5下安装Apache2.4+PHP7的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: try catch 之后是否会继续执行
- 下一篇: NumPy 数组对象