Linux PHP デバッグ環境を構築する方法: 1. MySQL をダウンロードしてインストールします; 2. php-fpm を有効にしてポート 9000 をリッスンします; 3. PHP を解凍し、コンパイルしてインストールします; 4. 構成ファイルを変更し、 Nginxをインストールします。
この記事の動作環境: ubuntu 16.04 システム、PHP バージョン 7.1、Dell G3 コンピューター。
Linux PHP デバッグ環境をセットアップするにはどうすればよいですか?
Linux PHP 開発環境のクイックセットアップ
構築された環境は LNMP:
1. MySQL をインストールします
これは非常に簡単です。私は Ubuntu を使用しているので、apt ソースを使用し、deb ファイルをダウンロードして、新しいインストール ドキュメントの順序に従ってください: a. apt ライブラリを追加 b. apt ライブラリを更新 cインストール d. MySQL
Download:
https://dev.mysql.com/downloads/repo/apt/
Documentation:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
2, PHP
# を実行します。 #here php-fpm をオンにして、ポート 9000 をリッスンします。 関連ドキュメント:http://php.net/manual/zh/install.unix.nginx.phpa. ダウンロード
https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gzローカルにダウンロードする画像を選択するか、ダウンロード アドレスを取得してローカルにダウンロードします 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 を追加する必要があります順番に実行するときに発生する問題zlib と libxml2 が存在しない場合は、Baidu の公式 Web サイトに直接アクセスして、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-sslc. インストール完了後の設定ファイル(公式ドキュメントはこちらに移動しました)の一行一行は忘れられません
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/binInterlude: Prevent ファイルが存在しない場合、悪意のあるスクリプト インジェクションによる攻撃を避けるために、Nginx はバックエンド PHP-FPM モジュールにリクエストを送信できなくなります
vim /usr/local/php/lib/php.ini 修改参数为:cgi.fix_pathinfo=0vim に詳しくないので、sudo をお勧めしますatom または sudo sublime. グラフィカル インターフェイス ソフトウェアを開きます。
d. 以下は PHP マニュアルとは異なります: (次の機能は、fpm に PHP-FPM ユーザー グループを読み取って設定させるためのものです)
実際、マニュアルには、/usr/local/etc/php-fpm.conf にはユーザー グループ設定オプションがまったくないと記載されています。手動で追加すると、ファイルが見つからない、または Depressed であることが報告されます。このように設定する必要があります。Create Web user:groupadd www-data useradd -g www-data www-dataOpen
php- fpm.conf
vim /usr/local/php/etc/php-fpm.conf最後の行を見つけます:
include=NONEl/etc/php-fpm.d/*.confNONE を実際のパスに変更します:
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-dataFPM
/usr/local/bin/php-fpme を有効にして、成功したかどうかを確認します:
netstat -tln | grep 9000TCP 9000 LISTEN が表示された場合は、構成が成功したことを意味します。出力がない場合は、ポート 9000 がリッスンしていないことを意味します。もう一度お試しください。
3. インストールNginx
Nginx の中国語ドキュメントは私を混乱させますhttp://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.htmlこれら 2 つのバージョンが古すぎる、PHP5 か何か、またはインストールするにはパラメータが多すぎます。いつも色々な問題があり、apt をインストールするのは好きではありませんが、少なくともバージョン選択の自由度があまりなく、削除するには apt を使用する必要があるため、最も簡単な方法でインストールしました。コンパイルしてインストールします ダウンロード
http://nginx.org/en/download.htmlお好みのバージョンを選択してダウンロードしてください
tar -zxvf cd ./configure --prefix=/usr/local/nginx make make install設定中に zlib などのソフトウェアが存在しないというメッセージが表示された場合は、Baidu ダウンロード 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 合計 2 つの場所が設定されています:
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 reopennginxhtml ディレクトリを起動し、新しいテストを作成します PHP ブラウザに localhost/text.php と入力すると、設定が成功したことがわかります。
リファレンス マニュアル
http://php.net/manual/zh/install.pecl.phpize.php実行プロセスは次のとおりです。コンパイルに使用される PHP ソース コード パッケージを入力し、関連する拡張ディレクトリを入力すると、phpize が設定ファイル ./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 autoconfLinux の簡単で一般的に使用される手順:
1. ルート ディレクトリで httpd.conf ファイルを見つけます:
find / -name httpd.conf2. /usr/src ディレクトリにあるファイルを表示します ファイル (サブディレクトリを含む) Contains magic行、この検索はファイルの内容です:
grep -r magic /usr/src3. VIM エディタの検索内容
尾行模式:/content Enter4.php- fpm のプロセスは閉じられています
sudo pkill php-fpm5. 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 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
