linux下PHP7環境搭建
阿新 • • 發佈:2019-02-17
LAMP環境版本
- 作業系統:Centos 7
- Mysql:5.7.11
- Apache:2.4.18
- PHP:7.0.4
安裝Mysql
為mysql建立專屬帳號
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
原始碼編譯安裝
shell> tar zxvf mysql-5.7.11.tar.gz
shell> cd mysql-5.7.11
shell> cmake .
shell> make
shell> make install
安裝後設置
注意:從Mysql5.7開始,mysql預設安裝後不再是空密碼,而是生成一個隨機密碼,除非初始化時指定--initialize-insecure。 所有使用者擁有對於MySQL預設安裝test資料庫的訪問許可權(即使沒有授予許可權)為了安全考慮5.7版本中不在有test資料庫。 更為重要的是,MySQL 5.7版本提供了更為簡單SSL安全訪問配置,並且預設連線就採用SSL的加密方式shell> cd /usr/local/mysql shell> chown -R mysql . #修改目錄所有者為mysql shell> chgrp -R mysql . #修改目錄所屬組為mysql shell> bin/mysqld --initialize-insecure --user=mysql --datadir=/data/mysql #初始化mysql,初始化為空,資料庫存放目錄指定為/data/mysql shell> bin/mysql_ssl_rsa_setup #啟動ssl加密方式連線 shell> chown -R root . #修改目錄所有者為root shell> chown -R mysql /data/mysql #修改資料庫目錄所有者為mysql
安裝mysql服務
只需要將mysql安裝目錄下的mysql.server複製過去就OK了。shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell> service mysql start #啟動服務
安裝Apache
原始碼編譯安裝
shell> ./configure --prefix=/usr/local/apahche \ --enable-so #動態共享物件,可實現模組動態生效 \ --enable-rewrite #啟用Rewrite功能 \ --enable-ssl #支援SSL/TLS,可以實現https訪問 \ --enable-deflate #支援壓縮 \ shell> make shell> make install
apache的啟動與關閉
shell> /usr/local/apache/bin/apachectl start #啟動
shell> /usr/local/apache/bin/apachectl stop #停止
shell> /usr/local/apache/bin/apachectl restart #重啟
將apache新增到Linux的服務並設定自啟動
shell> cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd #設定為系統服務 shell> ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S80httpd #在啟動級別3中自啟動 shell> service httpd restart #通過服務來重啟apache
執行測試頁面
在客戶端瀏覽器上輸入伺服器的IP地址,看是否能正常開啟網頁。常見問題
- configure: error: APR not found.
解決方法: 安裝對應依賴庫
shell> yum install apr apr-util-devel
- configure: error: pcre-config for libpcre not found.
解決方法:安裝對應依賴庫
yum install pcre pcre-devel
- 啟動apache時報:AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.44.13.173. Set the 'ServerName' directive globally to suppress this message 解決方法:修改配置檔案httpd.conf設定ServerName localhost:80
安裝PHP
安裝依賴庫
-
zlib
shell> tar xf zlib.1.2.8.tar.gz shell> cd zlib.1.2.8 shell> ./configure shell> make test shell> make install
- GD庫
libpng
shell> tar xf libpng-1.6.21 shell> cd libpng-1.6.21 shell> ./configure --prefix=/usr/local/libpng shell> make shell> make check shell> make install
jpegshell> tar xf jpegsrc.v9.tar.gz shell> cd jpeg-9 shell> ./configure --prefix=/usr/local/libjpeg shell> make shell> make install
- libcurl-devel
yum install libcurl-devel
-
openssl-devel
yum install openssl-devel
-
libxslt-devel
yum install libxslt-devel
-
libxml2-devel
yum install libxml2-devel
-
freetype 字型操作庫
shell> tar xf freetype-2.6.3.tar.bz2 shell> sh autogen.sh shell> ./configure --prefix=/usr/local/freetype shell> make shell> make install
編譯安裝PHP
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-curl \
--with-freetype-dir=/usr/local/freetype \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir=/usr/local/libpng \
--with-jpeg-dir=/usr/local/libjpeg \
--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
shell> make
shell> make install
Apache與PHP的關聯
PHP安裝成功後會在apache的modules目錄下生成一個libphp.so動態庫檔案,在apache的配置檔案httpd.conf裡自動增加一行
LoadModule php7_module modules/libphp7.so
在Apache的配置檔案httpd.conf的<IfModule mime_module></IfModule>塊裡增加一行
AddType application/x-httpd-php .php
在網站要目錄/usr/local/htdocs裡增加一個index.php測試檔案內容如下:
<?php
phpinfo();
然後我們執行此檔案,如果輸出了phpinfo資訊,證明我們安裝成功。