溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux php調(diào)試環(huán)境如何搭建

發(fā)布時間:2021-12-08 10:04:26 來源:億速云 閱讀:188 作者:iii 欄目:編程語言

這篇文章主要講解了“l(fā)inux php調(diào)試環(huán)境如何搭建”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux php調(diào)試環(huán)境如何搭建”吧!

linux php調(diào)試環(huán)境的搭建方法:1、下載安裝MySQL;2、開啟php-fpm,監(jiān)聽9000端口;3、進(jìn)行PHP解壓編譯安裝;4、修改配置文件并安裝Nginx即可。

linux php調(diào)試環(huán)境如何搭建

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

linux php調(diào)試環(huán)境怎么搭建?

Linux的PHP開發(fā)環(huán)境快速搭建

搭建的環(huán)境是LNMP:

1、安裝MySQL

這個非常簡單我用的是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

任意選擇一個鏡像下載到本地或者獲取到下載地址然后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

有精簡控的一定加上--prefix,這樣安裝目錄才會在那里

其中按順序執(zhí)行下來會遇到的問題有pcre、zlib、libxml2不存在的問題,那么直接百度進(jìn)入官網(wǎng)獲取最新版本的tar.gz格式安裝包然后解壓編譯安裝。

swoole 的入門手冊

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 將請求發(fā)送到后端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊

vim /usr/local/php/lib/php.ini
修改參數(shù)為:cgi.fix_pathinfo=0

由于本人對vim也不熟悉所以建議sudo atom 或者sudo sublime之類以圖形界面軟件打開.

d、下面和PHP手冊不一樣的是:(以下功能是讓fpm讀取配置PHP-FPM用戶組和用戶并開啟監(jiān)聽9000端口)

實(shí)際上手冊所說/usr/local/etc/php-fpm.conf根本沒有用戶組配置選項(xiàng),自己手動加上又會報告文件找不到,甚是郁悶,應(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

然后在這個正則匹配配置文件的加上用戶組和用戶信息:

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)聽,請重試

3、安裝Nginx

Nginx中文文檔呢讓我踩坑了

http://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html

這兩個都是版本太舊,PHP5什么的或者參數(shù)特別多安裝總有各種問題,而且不喜歡apt去安裝,起碼版本選擇上沒那么自由,刪除也要用apt去刪除所以我用最簡單的方式安裝就是下載、編譯、安裝

下載

http://nginx.org/en/download.html

選一個喜歡的版本下載完了

tar -zxvf 
cd 
./configure --prefix=/usr/local/nginx
make 
make install

如果在configure時候提示一些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

一共配置了兩個地方:

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

啟動nginx

html目錄新建test.php瀏覽器輸入localhost/text.php就可以看到配置成功了.

linux php調(diào)試環(huán)境如何搭建

PHP擴(kuò)展安裝:

參考手冊

http://php.net/manual/zh/install.pecl.phpize.php

執(zhí)行流程是:進(jìn)入編譯時用的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

可能會出現(xiàn)autoconf出錯情況,如果是ubuntu直接運(yùn)行就可以了,然后去lib.php/ini將擴(kuò)展注釋去除就可以咯:

sudo apt-get install autoconf

Linux 簡單和常用的指令:

1、根目錄下查找httpd.conf文件:

find / -name httpd.conf

2、顯示/usr/src目錄下的文件(包含子目錄)包含magic的行,這個查找的可是文件的內(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錯誤,mysqli.lo不存在,是因?yàn)槟硞€.h文件未找到導(dǎo)致編譯失敗圖示:

linux php調(diào)試環(huán)境如何搭建

解決方案:

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、簡單的定時任務(wù)

ubuntu 設(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文本追加一個hello
    創(chuàng)建tesh.sh內(nèi)容:
    echo hello >> /home/hello.txt
    創(chuàng)建文件hello.txt(注意所屬用戶、所屬組、其他用戶)的讀寫執(zhí)行權(quán)限的分配.
    將.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

感謝各位的閱讀,以上就是“l(fā)inux php調(diào)試環(huán)境如何搭建”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對linux php調(diào)試環(huán)境如何搭建這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI