linux php調試環境的搭建方法:1、下載安裝MySQL;2、開啟php-fpm,監聽9000埠;3、進行PHP解壓縮編譯安裝;4、修改設定檔並安裝Nginx即可。
本文操作環境:ubuntu 16.04系統,PHP7.1版,Dell G3電腦。
linux php調試環境怎麼搭建?
Linux的PHP開發環境快速建置
建置的環境是LNMP:
##1、安裝MySQL
這個非常簡單我用的是Ubuntu那麼就用apt來源,下載deb檔然後依照全新安裝文件依序:a.加入apt庫 b.更新apt庫c.安裝d.執行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,監聽9000埠。
相關文件:
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,這樣安裝目錄才會在那裡
其中按順序執行下來會遇到的問題有pcre、 zlib、libxml2不存在的問題,那麼直接百度進入官網取得最新版本的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 將請求發送到後端的PHP-FPM 模組, 以避免遭受惡意腳本注入的攻擊
vim /usr/local/php/lib/php.ini 修改参数为:cgi.fix_pathinfo=0
由於本人對vim也不熟悉所以建議sudo atom 或者sudo sublime之類以圖形介面軟體開啟.
d、下面和PHP手冊不一樣的是:(以下功能是讓fpm讀取配置PHP-FPM使用者群組和使用者並開啟監聽9000連接埠) 其實手冊所說/usr/local/etc/php-fpm.conf根本沒有使用者群組設定選項,自己手動加上又會報告檔案找不到,甚是鬱悶,應該這樣樹立
建立web用戶:
groupadd www-data useradd -g www-data www-data
開啟
php-fpm.confvim /usr/local/php/etc/php-fpm.conf
找到最下面那一行:
include=NONEl/etc/php-fpm.d/*.conf
將NONE改為真實路徑:
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
查找到使用者設定跟改內容為以下:
; 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埠未監聽,請重試
3、安裝Nginx#Nginx中文文檔呢讓我踩坑了
http://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html
這兩個都是版本太舊,PHP5什麼的或參數特別多安裝總有各種問題,而且不喜歡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
虛擬主機檔案目錄:/usr/local/nginx/html
#執行檔:/usr/local/nginx/sbin/nginx
#設定檔需要做到的就是a.index.html後面加index.php b.符合.php規則的交給9000埠
埠用預設nginx:80 php:9000 虛擬主機目錄用預設的/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;#}
好啦,現在去執行目錄
sudo ./nginx -s reopen
啟動nginx
#html目錄新test. php瀏覽器輸入localhost/text.php就可以看到設定成功了.
PHP擴充安裝:參考手冊
http://php.net/manual/zh/install.pecl.phpize.php
執行流程是:進入編譯時使用的PHP原始碼包的ext在進入相關擴充目錄, 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
可能會出現autoconf出錯情況,如果是ubuntu直接運行就可以了,然後去lib.php/ini將擴展註釋去除就可以咯:
sudo apt-get install autoconf
Linux 簡單和常用的指令:
1、根目錄下找httpd.conf檔:find / -name httpd.conf
2、顯示/usr/src目錄下的
包含magic的行,這個尋找的可是檔案的內容:grep -r magic /usr/src
3、VIM編輯器找出內容
尾行模式:/content Enter
4、php- fpm的進程關閉
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不存在,是因为某个.h文件未找到导致编译失败图示:
解决方案:
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、简单的定时任务
ubuntu 设定定时器任务:1、 将ubuntu中crontab的编译器切换到VIM export EDITOR=vim 修改后最好重启一下crontab /etc/init.d/cron stop /etc/init.d/cron start 2、 设定每一分钟向/home/hello.txt文本追加一个hello 创建tesh.sh内容: echo hello >> /home/hello.txt 创建文件hello.txt(注意所属用户、所属组、其他用户)的读写执行权限的分配. 将.sh加入定时任务 命令行输入 crontab -e 编辑文本内容为 */1 * * * * sh /home/test.sh
linux添加环境变量:
由于linux环境变量值中/usr/local/php并不属于,/usr/local/bin里面的倒是可以全局访问的,现在将php加入全局变量。
sudo vim /etc/profile//加入mysql、PHP的执行文件所在目录PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin export PATH//两行代码加到末尾然后执行以下指令使其生效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
推荐学习:《PHP视频教程》
以上是linux php調試環境怎麼搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!