新聞中心
本文操作環(huán)境:ubuntu14.04系統(tǒng),php7.2版,Dell G3電腦。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比盱眙網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式盱眙網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋盱眙地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
Ubuntu14怎么安裝php7?
ubuntu14.04安裝php7.0+版本
解決問(wèn)題:
-
無(wú)法安裝php7.0
-
以上版本 php上傳1M以上文件異常
-
php未指定Loaded Configuration File
-
php使用phpmailer ssl發(fā)送郵件異常
系統(tǒng):
服務(wù)器:Linux version 4.4.0-53-generic (buildd@lgw01-18) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #74~14.04.1-Ubuntu SMP Fri Dec 2 03:43:31 UTC 2016
安裝php7.0以上版本:
通過(guò)查詢,幾乎所有的教程都如下步驟
首先添加php官方源
$ sudo add-apt-repository ppa:ondrej/php
然后更新源
$ sudo apt-get update
然后安裝
$ sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mysql php7.0-readline
但實(shí)際操作下來(lái),無(wú)法找到7.0以上的源
錯(cuò)誤如下
root@iZuf624uxtr8143n2396iaZ:~# sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mysql php7.0-readlineReading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package php7.0 E: Couldn't find any package by regex 'php7.0' E: Unable to locate package php7.0-cli E: Couldn't find any package by regex 'php7.0-cli'E: Unable to locate package php7.0-fpm E: Couldn't find any package by regex 'php7.0-fpm' E: Unable to locate package php7.0-gd E: Couldn't find any package by regex 'php7.0-gd'E: Unable to locate package php7.0-json E: Couldn't find any package by regex 'php7.0-json' E: Unable to locate package php7.0-mysql E: Couldn't find any package by regex 'php7.0-mysql'E: Unable to locate package php7.0-readline E: Couldn't find any package by regex 'php7.0-readline'
無(wú)奈只能自己下載安裝包,手動(dòng)安裝,中間各種踩坑,再此記錄一下,方便需要的小伙伴直接拿走,節(jié)省時(shí)間
使用安裝包,安裝php7.0以上版本:
- 編譯環(huán)境:php-7.2.27
- 靜態(tài)資源服務(wù)器:nginx/1.4.6 (Ubuntu)
- 數(shù)據(jù)庫(kù):mysql
一、mysql安裝
二、PHP安裝
1、下載php源碼php-7.2.27.tar.gz,并解壓到/root目錄下
$ tar -zxvf /root/php-7.2.27.tar.gz -C /root/
2、安裝編譯需要的依賴
$ sudo apt-get update $ sudo apt-get install libxml2-dev
$ sudo apt-get install build-essential
$ sudo apt-get install openssl $ sudo apt-get install libssl-dev $ sudo apt-get install make $ sudo apt-get install curl $ sudo apt-get install libcurl4-gnutls-dev $ sudo apt-get install libfreetype6-dev $ sudo apt-get install libjpeg-dev $ sudo apt-get install libpng-dev $ sudo apt-get install libmcrypt-dev $ sudo apt-get install libreadline6 libreadline6-dev $ sudo apt-get install libbz2-dev
sudo apt-get install apache2-dev
3、創(chuàng)建安裝目錄
$ mkdir /usr/local/php
4、切換到解壓編譯目錄
$ cd /root/php-7.2.27/
配置開啟php-fpm支持,開啟多線程支持–enable-maintainer-zts,否則無(wú)法使用Apache2的Event MPM功能。
$ ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-pdo-mysql=/usr/bin/mysql --enable-bcmath --enable-mbstring --with-gettext --enable-fpm --enable-shmop --enable-soap --enable-opcache --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
$ make && make test You can then email it to qa-reports@lists.php.net later.Do you want to send this report now? [Yns]: $ make && sudo make install
較長(zhǎng)時(shí)間等待~~~
/usr/local/php/bin/php -v
5、配置php-fpm
$ cd /usr/local/php/etc $ cp php-fpm.conf.default php-fpm.conf $ cd /usr/local/php/etc/php-fpm.d $ cp www.conf.default www.conf $ vim /usr/local/php/etc/php-fpm.d/www.conf
修改 :
user = www-data
group = www-data
Eg:如果www-data用戶不存在,那么先添加www-data用戶
groupadd www-datauseradd -g www-data www-data
:
$ sudo /usr/local/php/sbin/php-fpm
6、將php-fpm添加至init.d中
$ /usr/local/php/etc $ Vim /usr/local/php/etc
$ killall php-fpm
進(jìn)入目錄(該目錄為php源碼包解壓后的目錄),找到 init.d.php-fpm 文件
$ cd /root/php-7.2.27/sapi/fpm/
將該文件復(fù)制到 /etc/init.d 目錄下并改名為 php-fpm
$ cp init.d.php-fpm /etc/init.d/php-fpm
添加權(quán)限:
chmod +x /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
$ sudo /etc/init.d/php-fpm start
$ service php-fpm start
fpm默認(rèn)使用9000端口號(hào),lsof -i:9000查看詳情
三、服務(wù)器配置
1、apache2配置方案
2、 nginx配置方案
Eg:
server {
listen 80;
server_name ip地址或者域名;
root /home/cms/phpProject/;
location / {
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
access_log /var/log/nginx/cms.access.log;
error_log /var/log/nginx/cms.error.log info;}
將項(xiàng)目放入/home/cms/phpProject/ 下
將runtime設(shè)置權(quán)限
$ chmod +x /home/cms/phpProject/runtime/
啟動(dòng)nginx
$ /etc/nginx nginx
訪問(wèn)地址 ip/域名
四、其它注意點(diǎn)
日志在/home/cms/prod/runtime/目錄下
注意數(shù)據(jù)庫(kù)連接的端口號(hào)
注意cache文件的讀寫狀態(tài)
chmod -R 777 /home/cms/phpProject/runtime/
通過(guò)phpinfo()查看PHP基本信息,發(fā)現(xiàn)未指定Loaded Configuration File
通過(guò)將php-fpm 指定到日志中查看strace /usr/local/php/sbin/php-fpm -i 2>1.log
將cp /usr/local/php/lib/php.ini /usr/local/php/etc/php.ini 拷貝到指定目錄下
通過(guò)問(wèn)題排查,發(fā)現(xiàn)是nginx文件上傳配置太小導(dǎo)致:
通過(guò)查看var/logs/nginx中的錯(cuò)誤文件,會(huì)有錯(cuò)誤如下
修正:nginx.conf中調(diào)整參數(shù)
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
client_body_buffer_size 20m;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_connect_timeout 600s;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
重啟nginx后,圖片上傳,發(fā)現(xiàn)仍然報(bào)錯(cuò),打開php日志,發(fā)現(xiàn)報(bào)錯(cuò)[ error ] [2]mkdir(): Permission denied[/home/biotool/cms/prod/thinkphp/library/think/File.php:160]
記住,凡是遇到此類問(wèn)題都是無(wú)權(quán)限導(dǎo)致。
執(zhí)行:
chmod -R 777 /home/cms/prod/public/`
超過(guò)1M大圖片上傳成功
4.1、我的源碼在 /root/php-7.2.27 ,安裝位置在 /usr/local/php, php.ini 在/ usr/local/php/lib 下。如果沒(méi)有php.ini需要把源碼中的配置文件 php.ini-development 或php.ini-production改名成php.ini并放在lib下。
4.2、進(jìn)入openssl的擴(kuò)展目錄 :
cd /root/php-7.2.27/ext/openssl
3.3、運(yùn)行phpize
/usr/local/php7/bin/phpize
mv config0.m4 config.m4
執(zhí)行后若報(bào)
執(zhí)行: apt install autoconf
3.4、執(zhí)行安裝
./configure --with-openssl --with-php-config=/usr/local/php7/bin/php-config make&&make install
3.5、過(guò)程中可能出現(xiàn)libssl找不到,執(zhí)行下面的命令再重新執(zhí)行3.4對(duì)應(yīng)的執(zhí)行安裝
yum install openssl yum install openssl-devel
3.6、執(zhí)行安裝后,會(huì)提示在某個(gè)目錄生成.so文件,我生成的位置在
3.7、打開etc/ php.ini
vim /usr/local/php/etc/php.ini
添加下面兩句話
3.8、重啟php即可。
killall php-fpm
/usr/local/php/sbin/php-fpm
4、切換域名方式
4.1登錄中心節(jié)點(diǎn),將xxx.net域名對(duì)應(yīng)的代理轉(zhuǎn)發(fā)地址修改為: http://ip/
4.2登錄應(yīng)用服務(wù)器,server_name中添加ip
注:此處使用內(nèi)網(wǎng)地址,可提升跨服務(wù)之間的訪問(wèn)速度(帶寬20M)
配置成功后,訪問(wèn)xxx.net,網(wǎng)站切換成功,且訪問(wèn)速度比IP直接訪問(wèn)快
新聞名稱:Ubuntu14怎么安裝php7擴(kuò)展
URL地址:http://www.dlmjj.cn/article/dpgpipo.html


咨詢
建站咨詢
