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中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。