検索
ホームページバックエンド開発PHPの問題Linux PHPデバッグ環境をセットアップする方法

Linux PHP デバッグ環境を構築する方法: 1. MySQL をダウンロードしてインストールします; 2. php-fpm を有効にしてポート 9000 をリッスンします; 3. PHP を解凍し、コンパイルしてインストールします; 4. 構成ファイルを変更し、 Nginxをインストールします。

Linux PHPデバッグ環境をセットアップする方法

この記事の動作環境: 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.php
a. ダウンロード

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-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
Interlude: Prevent ファイルが存在しない場合、悪意のあるスクリプト インジェクションによる攻撃を避けるために、Nginx はバックエンド PHP-FPM モジュールにリクエストを送信できなくなります

vim /usr/local/php/lib/php.ini
修改参数为:cgi.fix_pathinfo=0
vim に詳しくないので、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-data
Open

php- fpm.conf

vim /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
これら 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 reopen
nginx

html ディレクトリを起動し、新しいテストを作成します PHP ブラウザに localhost/text.php と入力すると、設定が成功したことがわかります。

#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 autoconf

Linux の簡単で一般的に使用される手順:

1. ルート ディレクトリで httpd.conf ファイルを見つけます:

find / -name httpd.conf
2. /usr/src ディレクトリにあるファイルを表示します ファイル (サブディレクトリを含む) Contains 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 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
酸とベースデータベース:違いとそれぞれを使用するタイミング。酸とベースデータベース:違いとそれぞれを使用するタイミング。Mar 26, 2025 pm 04:19 PM

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

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。Mar 26, 2025 pm 04:18 PM

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

PHP入力検証:ベストプラクティス。PHP入力検証:ベストプラクティス。Mar 26, 2025 pm 04:17 PM

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

PHP APIレート制限:実装戦略。PHP APIレート制限:実装戦略。Mar 26, 2025 pm 04:16 PM

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

PHPパスワードハッシュ:password_hashおよびpassword_verify。PHPパスワードハッシュ:password_hashおよびpassword_verify。Mar 26, 2025 pm 04:15 PM

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

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。Mar 26, 2025 pm 04:13 PM

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

PHP XSS予防:XSSから保護する方法。PHP XSS予防:XSSから保護する方法。Mar 26, 2025 pm 04:12 PM

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

PHPインターフェイスvs抽象クラス:それぞれを使用する時期。PHPインターフェイスvs抽象クラス:それぞれを使用する時期。Mar 26, 2025 pm 04:11 PM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows

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 新バージョン

SublimeText3 Linux 最新バージョン

DVWA

DVWA

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