LNAMP服務器環境(源碼安裝)

在安裝前先看下它們安裝時所須要的依賴庫:http://www.cnblogs.com/fps2tao/p/7699448.htmlphp

1.nginx源碼安裝html

下載:http://nginx.org/en/download.htmlmysql

wget http://nginx.org/download/nginx-1.13.6.tar.gz
tar -zxvf nginx-1.13.6.tar.gz

編譯(配置文件也能夠參考 http://www.cnblogs.com/fps2tao/p/8570404.html )linux

./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--error-log-path=/usr/local/nginx/log/error.log \
--pid-path=/usr/local/nginx/nginx.pid \
--lock-path=/usr/local/nginx/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_dav_module \
--with-http_stub_status_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_ssl_module \ --with-http_flv_module \ --with-http_realip_module \ --with-http_mp4_module \ --with-http_gzip_static_module \

補充1(可不看):nginx

安裝pcre依賴
[root@linuxprobe]# tar zxvf /usr/local/src/pcre-8.36.tar.gz -C /usr/local/src/ [root@linuxprobe nginx-1.10.1]# cd /usr/local/src/pcre-8.36 [root@linuxprobe nginx-1.10.1]# ./configure && make && make install [root@linuxprobe nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/usr/local/src/pcre-8.36 --with-openssl=/usr/include/openssl 注意:TCP_FASTOPEN 只在 3.7.1 以及更新的 Linux 內核版本才支持 --with-http_dav_module #啓用支持(增長PUT,DELETE,MKCOL:建立集合,COPY和MOVE方法)默認關閉,須要編譯開啓 --with-http_stub_status_module #啓用支持(獲取Nginx上次啓動以來的工做狀態) --with-http_addition_module #啓用支持(做爲一個輸出過濾器,支持不徹底緩衝,分部分相應請求) --with-http_sub_module #啓用支持(容許一些其餘文本替換Nginx相應中的一些文本) --with-http_flv_module #啓用支持(提供支持flv視頻文件支持) --with-http_mp4_module #啓用支持(提供支持mp4視頻文件支持,提供僞流媒體服務端支持) --with-pcre=/usr/local/src/pcre-8.36 #須要注意,這裏指的是源碼,用#./configure --help |grep pcre查看幫助

安裝完成啓動web

/usr/local/nginx/sbin/nginx -t 
/usr/local/nginx/sbin/nginx    啓動
/usr/local/nginx/sbin/nginx -s stop/quit
/usr/local/nginx/sbin/nginx -s reload 
-s表明信號的意思

我安裝完啓動提示錯誤:正則表達式

nginx: [emerg] getpwnam("nginx") failed  //這個是由於沒有個nginx創建用戶所致
useradd -s /sbin/nologin -M nginx
id nginx

添加了用戶關掉防火牆訪問正常redis

 ❶設置開機啓動 看教程 :http://www.cnblogs.com/fps2tao/p/8570404.htmlsql

 ❷nginx虛擬主機(conf.d)配置文件: https://www.cnblogs.com/fps2tao/p/9958009.htmlshell

 ❸ nginx的一些配置 : https://www.cnblogs.com/Mr-wx/p/8805712.html

 

 

2.httpd源碼安裝

 http://www.apache.org/ 能夠打開這個網站,它會推薦理你近的幾個mirror服務器.

下載:

wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.28.tar.gz
tar -zxvf httpd-2.4.28.tar.gz

進入目錄

下面開始對Apache進行安裝配置,可使用

./configure --help

查看安裝時能夠配置哪些參數,下面咱們開始配置一些參數並進行檢查

./configure \
--prefix=/usr/local/apache \
--sysconfdir=/etc/httpd \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-mods-shared=most \
--enable-mpms-shared=all \
--with-mpm=prefork

補充:

    # tar xf httpd-2.4.9.tar.bz2
        如下爲幾個主要的配置項
        --sysconfdir=/etc/httpd24  指定配置文件路徑
        --enable-so  啓動模塊動態裝卸載
        --enable-ssl 編譯ssl模塊
        --enable-cgi 支持cgi機制(可以讓靜態web服務器可以解析動態請求的一個協議)
        --enable-rewrite  支持url重寫     --Author : Leshami
        --with-zlib  支持數據包壓縮       --Blog   : http://blog.csdn.net/leshami
        --with-pcre  支持正則表達式
        --with-apr=/usr/local/apr  指明依賴的apr所在目錄
        --with-apr-util=/usr/local/apr-util/  指明依賴的apr-util所在的目錄
        --enable-modules=most      啓用的模塊
        --enable-mpms-shared=all   以共享方式編譯的模塊
        --with-mpm=prefork         指明httpd的工做方式爲prefork

我編譯有錯誤,說openssl版本太舊了因此升級了下

yum install openssl-devel
yum update openssl

檢查無誤,而後開始編譯安裝

make && make install

而後,漫長等待,大概半個小時。。。

等安裝完之後進入到安裝目錄,開啓apache服務

cd /usr/local/apache/bin/
./apachectl start

哎,發現報錯

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 64972) already running

額,原來就是配置文件中沒有serverName,那就在httpd.conf 中增長 ServerName 

vim /usr/local/apache/conf/httpd.conf
或 vim /etc/httpd/httpd.conf
#增長
ServerName localhost

結果:

It works!

注意事項:若是先安裝php再安裝apache,apache不支持php

修改Apache的配置文件httpd.conf

DirectoryIndex index.html index.php #添加index.php

找到:

AddType  application/x-compress .Z

AddType application/x-gzip .gz .tgz

添加以下內容

AddType application/x-httpd-php-source .phps

AddType application/x-httpd-php .php

檢查LoadModule php5_module modules/libphp5.so 是否已經添加 libphp5.so文件是否存在,不存在了就是php編譯的時候沒有指定--with-apxs2=/usr/bin/apxs \

 

3.mysql源碼安裝

 下載:

 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz

添加mysql用戶:

建立mysql的安裝目錄及數據庫存放目錄

[root@ rhel5~]#mkdir -p /usr/local/mysql                 //安裝mysql 
[root@ rhel5~]#mkdir -p /usr/local/mysql/data            //存放數據庫

建立mysql用戶及用戶組

[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd -r -g mysql mysql

而後將目錄'/usr/local/mysql'的全部者改成mysql

chown -R mysql:mysql /usr/local/mysql

先要下載mysql源碼安裝包,咱們這裏使用mysql-5.7.20.tar.gz ,這個能夠到官網上下載,而後解壓

tar -zxvf mysql-5.7.20.tar.gz

進入到解壓後的mysql目錄,你會驚奇的發現沒有configure 文件,這下如何是好。這個主要是新版本的mysql使用了cmake 進行安裝,因此沒有以前的configure文件了

如今咱們就使用cmake 進行安裝配置

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DDEFAULT_COLLATION=utf8_general_ci

boost安裝目錄能夠rpm -al |grep boost(我下載的mysql可能要支持boost 1.64.0版本才行,1.53.0版本太舊)    自動下載的好像[mysql每次安裝都自動下載]能夠先如今到對應目錄,文件挺大的.

源碼安裝 :http://www.cnblogs.com/fps2tao/p/7709126.html

補充:

上面幾個重要的地方

'-DCMAKE_INSTALL_PREFIX' 是安裝目錄

'-DMYSQL_DATADIR' 是數據文件存放目錄

'-DSYSCONFDIR' 配置文件目錄

'-DMYSQL_UNIX_ADDR' SOCK文件存放目錄

'-DMYSQL_TCP_PORT' 端口號
檢查無誤後,就開始編譯安裝了
make && make install
而後,而後,而後就是半個小時的等待。。。

這時算是已經安裝完成了,可是mysql中是沒有數據的(即便系統自帶的數據都沒有),這時須要執行自帶腳本,初始化mysql數據

/usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

新版本的mysql

shell> cd /usr/local/mysql
shell> chown -R mysql:mysql .
# 注意:MySQL 5.7.6以前的版本執行這個腳本初始化系統數據庫
shell> ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 5.7.6以後版本初始系統數據庫腳本(本文使用此方式初始化)
shell> ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
shell> ./bin/mysql_ssl_rsa_setup
shell> chown -R root .
shell> chown -R mysql data

 

執行完成後,你會發現/usr/local/mysql/data 目錄下多了一些文件,這些就是mysql的數據文件了

而後啓動mysql,這時要注意,咱們上面指定配置文件位於'/etc'目錄下,可是咱們爲了方便,想把mysql配置文件放到'/usr/local/mysql/',這時咱們須要把'/etc/my.conf'更改一下名稱

cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 

 

mv /etc/my.cnf  /etc/my.cnf.bak

這時mysql 在'/etc'目錄下找不到,就會到'$basedir'下去找,也就是'/usr/local/mysql/'目錄

此時mysql的安裝工做算是完了,下面就要啓動了,你會發現使用使用

/usr/local/mysql/bin/mysql start

沒法啓動,報錯爲

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

以前筆者怎麼弄都不行,即便創建'/var/lib/mysql/mysql.sock' 後來終於知道,原來不是怎麼啓動的,而是

/usr/local/mysql/support-files/mysql.server start

啓動一直提示

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

修改/etc/my.cnf

[client]
port=3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

skip-external-locking
skip-name-resolve

user=mysql
port=3306
datadir = /usr/local/mysql/data         #添加
log-error = /usr/local/mysql/data/error.log  #添加
#pid-file = /usr/local/mysql/data/mysql.pid   #註釋掉
tmpdir = /var/tmp #不建議放在/tmp下
# server_id = .....
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/logs/mysql_error.log
pid-file=/usr/local/mysql/mysql.pid
open_files_limit=10240
back_log=600
max_connections=500
max_connect_errors=6000
wait_timeout=605800
#open_tables=600
#table_cache = 650
#opened_tables = 630

max_allowed_packet=32M
sort_buffer_size=4M
join_buffer_size=4M
thread_cache_size=300
query_cache_type=1
query_cache_size=256M
query_cache_limit=2M
query_cache_min_res_unit=16k

tmp_table_size=256M
max_heap_table_size=256M

key_buffer_size=256M
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M

lower_case_table_names=1

default-storage-engine=INNODB

innodb_buffer_pool_size=2G
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_flush_method=O_DIRECT
#####################
thread_concurrency=32
long_query_time=2
slow-query-log=on
slow-query-log-file=/usr/local/mysql/logs/mysql-slow.log

[mysqldump]
quick
max_allowed_packet=32M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 或這個rpm安裝生成的my.cnf文件

#For dvice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


skip-grant-tables=1
datadir = /usr/local/mysql/data
log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid #添加了註釋,不添加報錯 (ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).)

 

而後,測試下

/usr/local/mysql/bin/mysql -u root

show databases;

 配置mysql 服務

shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> chkconfig --add mysqld     # 添加到系統服務
shell> chkconfig mysqld on        # 開機啓動

啓動mysql

shell> service mysqld start       # 啓動mysql服務
shell> service mysqld stop        # 中止mysql服務
shell> service mysqld restart     # 從新啓動mysql服務

設置環境變量

shell> vim /etc/profile
shell> export PATH=/usr/local/mysql/bin:$PATH
shell> source /etc/profile

更改mysql 密碼請參考 :http://www.cnblogs.com/fps2tao/p/7570617.html

mysql一直啓動出問題不妨看看這個:http://www.cnblogs.com/fps2tao/p/9029949.html 

好了,到這裏mysql 算是安裝成功了!

 

 

 

 

最後一步,咱們要安裝PHP7了,最爲激動人心的時刻到了

4.php源碼安裝

 下載地址 :http://cn2.php.net/distributions/php-7.1.11.tar.gz

安裝必要的依賴庫等(也能夠看我另外一篇依賴庫的文章)

yum -y install php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 

 

MySQL支持

重點講一下這個,由於在它上面花了一點時間,不知道從哪一版本開始,PHP不在但願使用mysql的庫來支持mysql的鏈接,啓用了mysqlnd來支持,據說比libmysql要快不少,PHP5.x還可使用libmysql,PHP7貌似已經取消了支持,編譯都沒有了--with-mysql參數,只支持--with-mysqli和--with-pdo-mysql,能夠經過查看configure的參數來知道:(原來的mysql_connect()函數就不能用了,替換的是

 $mysqli = new mysqli("localhost", "root", "password", "testgame");

$mysqli->close(); 

)

 配置文件也可參考:(https://www.insp.top/article/make-install-php-7)

./configure \
--prefix=/usr/local/php7/ \         #PHP安裝路徑
--with-apxs2=/usr/local/apache/bin/apxs \     #--with-apxs2指向Apache的apxs路徑 
--with-config-file-path=/etc/ \          #PHP配置文件路徑
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \         #加載fpm、mbstring模塊
--with-curl \
--with-gd \
--enable-fpm \
--with-pear \
--with-mysql=/usr/local/mysql \  #支持MySQL 替換成MySQL路徑。
--enable-mysqlnd  \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-maintainer-zts \
--enable-debug \
--enable-pcntl \
--enable-opcache \
--enable-sockets \
--enable-embed=shared \ --enable-json=shared \ --enable-phpdbg \ --with-mysql-sock=/var/lib/mysql/mysql.sock

 

#--with-apxs2指向Apache的apxs路徑 ,怎麼查看路徑呢?(指定了這個路徑php編譯的時候纔會生成modules/libphp5.so或libphp7.so)
# yum install httpd-devel –y   
# rpm –ql httpd-devel | grep 'apxs'
 
--enable-maintainer-zts \ 是爲了未來支持多線程pthreads,沒有 配置這個,開啓pthreads擴展必須從新編譯

擴展鏈接:http://www.cnblogs.com/fps2tao/p/9021485.html
make
make test
make install

 

 安裝完成後,咱們要把源碼包中的配置文件複製到PHP安裝目錄下,源碼包中有兩個配置  php.ini-development  php.ini-production  ,看名字就知道,一個是開發環境,一個是生產環境,咱們這裏就複製開發環境的

cp php.ini-development  /usr/local/php/etc/php.ini

到這裏,還最後一個工做沒有作,就是讓apache去解析PHP文件,在apache配置文件httpd.conf 中加上一條

 

修改Apache的配置文件httpd.conf

DirectoryIndex index.html index.php #添加index.php

找到:

AddType  application/x-compress .Z

AddType application/x-gzip .gz .tgz

添加以下內容

AddType application/x-httpd-php-source .phps

AddType application/x-httpd-php .php

而後從新啓動apache 

/usr/local/apache/bin/apachectl restart

而後在目錄/usr/local/apache/htdocs/ 目錄下增長test.php 

<?php
phpinfo();
$mysql=new mysqli("localhost","root","123456","mysql");
if($mysql)
{
echo "ok";
}
else
{
echo "no ok";
}

?>

 

 完成

 

轉:http://www.cnblogs.com/painsOnline/p/5162613.html

 

擴展: 

http://www.cnblogs.com/onlyfu/p/5051389.html

http://www.cnblogs.com/GaZeon/p/5421906.html

 

php7已經沒有mysql這個擴展了,好多貼仍是按照之前的方法講,讓我這個新手來回找了好多遍都沒找到mysql,php7用後面兩個連接數據庫,千萬不要傻傻去找也不要去來回拷貝什麼dll之類的。

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

 

再就是php-fpm啓動也變了--

php-fpm配置 在/usr/local/php/etc/  

有php-fpm.conf

php-fpm.d/下面能夠寫不少這個的擴展文件

php.ini

   

 

 php7.2.5編譯的配置文件

./configure \
--prefix=/usr/local/php/7.2.8 \     #PHP安裝路徑
--with-apxs2=/usr/bin/apxs \        #--with-apxs2指向Apache的apxs路徑
--with-config-file-path=/etc \        #PHP配置文件路徑
--with-config-file-scan-dir=/usr/local/php/7.2.8/etc/conf.d \
--enable-fpm \                #加載fpm、mbstring模塊
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-soap \
--with-openssl \
--with-openssl-dir \
--with-mcrypt \
--with-pcre-regex \
--with-zlib \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-mbstring \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd \
--with-mysqli \
--enable-maintainer-zts \
--enable-debug \
--enable-pcntl \
--enable-opcache \
--with-pear \
--enable-cli \
--enable-cgi \
--enable-igbinary \    #反序列化redis.so 依賴
--enable-redis-igbinary=y \    #redis有關
--enable-redis-lzf=y \    #redis有關
--enable-json \
--enable-debug

 

 

 安裝完後,要加入環境變量,和拷貝php.ini文件

# cp php.ini-development /etc/php.ini
# whereis php
# which php
# find / -name php
//上面這幾個命令,找下php運行文件位置
//下面是添加環境變量的步驟
 vim /etc/profile

PATH=$PATH:/usr/local/php/7.2.8/bin
export PATH

//保存

# source /etc/profile

 

下來若是要開啓php-fpm:

whereis php-fpm    //有必要能夠加入環境變量

//須要修改2出配置文件,才能夠正常啓動


# cd etc //目錄不固定
# cp php-fpm.conf.default php-fpm.conf 


# cd php-fpm.d //目錄不固定
# cp www.conf.default www.conf

//而後才能夠正常啓動php-fpm
# /usr/local/php/7.2.8/sbin/php-fpm

//按照上面配置的php,估計要創建nginx的用戶名和組
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

 php-fpm 開機啓動設置 : http://bbs.qcloud.com/thread-9907-1-1.html

 截取php-fpm開機啓動最重要的部分

vim /usr/local/php7/etc/php-fpm.d/www.conf
//listen = 127.0.0.1:9000

//加php-fpm管理器到systemctl中
vim /usr/lib/systemd/system/php-fpm.service

//按i寫入如下內容
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/run/php-fpm.pid
ExecStart=/usr/local/php7/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php7/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target


//開啓命令 :若是加入開機啓動enable
systemctl start php-fpm.service

 也能夠用ntsysv工具 設置開機啓動

 

擴展:centos7源碼安裝 經過systemctl管理開機啓動 

http://www.cnblogs.com/fps2tao/p/8570694.html

配置項可參見: http://php.net/manual/zh/configure.about.php 

 

php安裝的配置文件(參考):主要爲nginx 的php-fpm 設置了用戶名和組

./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-pear --with-gettext --enable-session --with-curl --with-openssl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-gdbm --enable-fileinfo --enable-maintainer-zts

 

下面是源碼安裝php所有自帶擴展:

https://blog.csdn.net/qq_34089779/article/details/79067552

注意此篇文章的上下文

wget http://docs.php.net/distributions/php-7.1.11.tar.gz
tar -zxvf php-7.1.11.tar.gz
cd php-7.1.11

./buildconf --force
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/lib/php.d \
--with-mcrypt=/usr/include \
--with-sqlite3 \
--with-pdo-sqlite \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-posix \
--enable-pcntl \
--enable-shmop \
--enable-sysvshm \
--enable-sysvsem \
--enable-sysvmsg \
--enable-phar \
--enable-zip \
--with-zlib \
--with-zlib-dir \
--with-bz2 \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-webp-dir \
--with-jpeg-dir \
--with-png-dir \
--with-xpm-dir \
--with-freetype-dir \
--enable-exif \
--enable-json \
--enable-libxml \
--with-libxml-dir \
--enable-xml \
--enable-xmlreader \
--enable-xmlwriter \
--enable-simplexml \
--with-pear \
--with-xsl \
--enable-dom \
--enable-soap \
--enable-wddx \
--with-xmlrpc \
--enable-ctype \
--enable-filter \
--with-pcre-regex \
--with-pcre-jit \
--with-enchant \
--with-pspell \
--enable-fileinfo \
--enable-mbstring \
--with-iconv \
--enable-hash \
--with-openssl \
--with-mcrypt \
--enable-bcmath \
--with-gmp \
--enable-session \
--enable-sockets \
--enable-ftp \
--with-curl \
--with-ldap \
--with-ldap-sasl \
--with-imap \
--with-kerberos \
--with-imap-ssl \
--enable-calendar \
--with-gettext \
--with-tidy \
--with-readline \
--enable-tokenizer \
--enable-opcache \
--enable-cli \
--enable-cgi \
--enable-fpm \
--enable-phpdbg

make && make install
make error
vim MakeFile 找到 開頭是 'EXTRA_LIBS' 這一行 在結尾加上 '-llber' 若是還報錯再加上'-liconv'

 

 

php 編譯常見問題 :http://www.bkjia.com/PHPjc/1008013.html

相關文章
相關標籤/搜索