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

站在用戶的角度思考問題,與客戶深入溝通,找到嘉定網(wǎng)站設(shè)計(jì)與嘉定網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋嘉定地區(qū)。
linux php調(diào)試環(huán)境怎么搭建?
Linux的PHP開發(fā)環(huán)境快速搭建
搭建的環(huán)境是LNMP:
1、安裝mysql
這個(gè)非常簡(jiǎn)單我用的是Ubuntu那么就用apt源,下載deb文件然后按照全新安裝文檔按順序:a.加入apt庫 b.更新apt庫 c.安裝 d.運(yùn)行MySQL
下載:
https://dev.mysql.com/downloads/repo/apt/
文檔:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
2、PHP
這里開啟php-fpm,監(jiān)聽9000端口。
相關(guān)文檔:
http://php.net/manual/zh/install.unix.nginx.php
a. 下載
https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gz
任意選擇一個(gè)鏡像下載到本地或者獲取到下載地址然后wget下載到本地
b.解壓、編譯、安裝
tar zxf php-x.x.x cd ../php-x.x.x./configure --prefix=/usr/local/php --enable-fpm --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-mysqli --with-opensslmake sudo make install
有精簡(jiǎn)控的一定加上--prefix,這樣安裝目錄才會(huì)在那里
其中按順序執(zhí)行下來會(huì)遇到的問題有pcre、zlib、libxml2不存在的問題,那么直接百度進(jìn)入官網(wǎng)獲取最新版本的tar.gz格式安裝包然后解壓編譯安裝。
swoole 的入門手冊(cè)
https://linkeddestiny.gitbooks.io/easy-swoole/content/book/chapter01/install.html
./configure --prefix=/usr/local/php \ --with-config-file-path=/etc/php \ --enable-fpm \ --enable-pcntl \ --enable-mysqlnd \ --enable-opcache \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-shmop \ --enable-zip \ --enable-soap \ --enable-xml \ --enable-mbstring \ --disable-rpath \ --disable-debug \ --disable-fileinfo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-pcre-regex \ --with-iconv \ --with-zlib \ --with-mcrypt \ --with-gd \ --with-openssl \ --with-mhash \ --with-xmlrpc \ --with-curl \ --with-imap-ssl
c、安裝完畢以后配置文件(官方文檔搬磚過來的),每一行都不能忘記哦
sudo cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp sapi/fpm/php-fpm /usr/local/php/bin
小插曲:防止文件不存在,則阻止 Nginx 將請(qǐng)求發(fā)送到后端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊
vim /usr/local/php/lib/php.ini 修改參數(shù)為:cgi.fix_pathinfo=0
由于本人對(duì)vim也不熟悉所以建議sudo atom 或者sudo sublime之類以圖形界面軟件打開.
d、下面和PHP手冊(cè)不一樣的是:(以下功能是讓fpm讀取配置PHP-FPM用戶組和用戶并開啟監(jiān)聽9000端口)
實(shí)際上手冊(cè)所說/usr/local/etc/php-fpm.conf根本沒有用戶組配置選項(xiàng),自己手動(dòng)加上又會(huì)報(bào)告文件找不到,甚是郁悶,應(yīng)該這樣樹立
創(chuàng)建web用戶:
groupadd www-data useradd -g www-data www-data
打開php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
找到最下面那一行:
include=NONEl/etc/php-fpm.d/*.conf
將NONE改為真實(shí)路徑:
include=/usr/local/php/etc/php-fpm.d/*.conf
然后在這個(gè)正則匹配配置文件的加上用戶組和用戶信息:
cd /usr/local/php/etc/php-fpm.d sudo cp www.conf.default www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
查找到用戶設(shè)置跟改內(nèi)容為以下:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group; will be used. user = www-data group = www-data
開啟FPM
/usr/local/bin/php-fpm
e、檢查是否成功:
netstat -tln | grep 9000
如果看到TCP 9000 LISTEN則表示配置成功如果無任何輸出表示9000端口未監(jiān)聽,請(qǐng)重試
3、安裝Nginx
Nginx中文文檔呢讓我踩坑了
http://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html
這兩個(gè)都是版本太舊,PHP5什么的或者參數(shù)特別多安裝總有各種問題,而且不喜歡apt去安裝,起碼版本選擇上沒那么自由,刪除也要用apt去刪除所以我用最簡(jiǎn)單的方式安裝就是下載、編譯、安裝
下載
http://nginx.org/en/download.html
選一個(gè)喜歡的版本下載完了
tar -zxvf cd ./configure --prefix=/usr/local/nginx make make install
如果在configure時(shí)候提示一些zlib之類的軟件不存在百度下載tar包解壓安裝便是
安裝目錄解答:
安裝完了以后在 /usr/local/nginx
配置文件:/usr/local/nginx/conf/nginx.conf
虛擬主機(jī)文件目錄:/usr/local/nginx/html
執(zhí)行文件:/usr/local/nginx/sbin/nginx
配置文件需要做到的就是 a.index.html后面加index.php b.符合.php規(guī)則的交給9000端口
端口用默認(rèn)nginx:80 php:9000 虛擬主機(jī)目錄用默認(rèn)的 /usr/local/nginx/html
一共配置了兩個(gè)地方:
location / {
root html;
index index.html index.php index.htm;
}
#location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;# include fastcgi_params;#}
好啦,現(xiàn)在去執(zhí)行目錄
sudo ./nginx -s reopen
啟動(dòng)nginx
html目錄新建test.php瀏覽器輸入localhost/text.php就可以看到配置成功了.
PHP擴(kuò)展安裝:
參考手冊(cè)
http://php.net/manual/zh/install.pecl.phpize.php
執(zhí)行流程是:進(jìn)入編譯時(shí)用的PHP源碼包的ext在進(jìn)入相關(guān)擴(kuò)展目錄, phpize生成configure文件, ./configure , make && make install
cd /home/username/php7.0.29/ext cd curl phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install
可能會(huì)出現(xiàn)autoconf出錯(cuò)情況,如果是ubuntu直接運(yùn)行就可以了,然后去lib.php/ini將擴(kuò)展注釋去除就可以咯:
sudo apt-get install autoconf
Linux 簡(jiǎn)單和常用的指令:
1、根目錄下查找httpd.conf文件:
find / -name httpd.conf
2、顯示/usr/src目錄下的文件(包含子目錄)包含magic的行,這個(gè)查找的可是文件的內(nèi)容:
grep -r magic /usr/src
3、VIM編輯器查找內(nèi)容
尾行模式:/content Enter
4、php-fpm的進(jìn)程關(guān)閉
sudo pkill php-fpm
5、MySQLI安裝
./configure –with-php-config=/usr/local/php/bin/php-config –with-mysqli=/usr/bin/mysql_config
php_config找不到
sudo apt-get install libmysqlclient-dev
之后遇到make錯(cuò)誤,mysqli.lo不存在,是因?yàn)槟硞€(gè).h文件未找到導(dǎo)致編譯失敗圖示:
解決方案:
https://www.cnblogs.com/xiaoqian1993/p/6277771.html
6、ubuntu安裝apt install資源占用
Could not get lock /var/lib/dpkg/lock! sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
7、簡(jiǎn)單的定時(shí)任務(wù)
ubuntu 設(shè)定定時(shí)器任務(wù):1、
將ubuntu中crontab的編譯器切換到VIM
export EDITOR=vim
修改后最好重啟一下crontab /etc/init.d/cron stop
/etc/init.d/cron start
2、
設(shè)定每一分鐘向/home/hello.txt文本追加一個(gè)hello
創(chuàng)建tesh.sh內(nèi)容:
echo hello >> /home/hello.txt
創(chuàng)建文件hello.txt(注意所屬用戶、所屬組、其他用戶)的讀寫執(zhí)行權(quán)限的分配.
將.sh加入定時(shí)任務(wù)
命令行輸入
crontab -e
編輯文本內(nèi)容為 */1 * * * * sh /home/test.sh
linux添加環(huán)境變量:
由于linux環(huán)境變量值中/usr/local/php并不屬于,/usr/local/bin里面的倒是可以全局訪問的,現(xiàn)在將php加入全局變量。
sudo vim /etc/profile//加入mysql、PHP的執(zhí)行文件所在目錄PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin export PATH//兩行代碼加到末尾然后執(zhí)行以下指令使其生效source /etc/profile
或者添加快捷方式形式:
ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
nginx.conf | laravel
#user www-data;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
#
server {
listen 8080;
server_name localhost;
index index.html index.htm index.php;
location / {
root /home/www/laravel/public;
autoindex on;
try_files $uri $uri/ /index.php?$query_string;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www/laravel/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name localhost;
index index.html index.htm index.php;
location / {
root /home/www;
autoindex on;
try_files $uri $uri/ /index.php?$query_string;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
composer安裝
https://pkg.phpcomposer.com/#how-to-install-composer
當(dāng)前標(biāo)題:linuxphp調(diào)試環(huán)境怎么搭建
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/dpjojii.html


咨詢
建站咨詢
