在安裝前先看下它們安裝時所須要的依賴庫: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
結果:
注意事項:若是先安裝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
重點講一下這個,由於在它上面花了一點時間,不知道從哪一版本開始,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