Heim Backend-Entwicklung PHP-Problem So richten Sie eine Linux-PHP-Debugging-Umgebung ein

So richten Sie eine Linux-PHP-Debugging-Umgebung ein

Dec 08, 2021 am 09:32 AM
linux

So richten Sie die Linux-PHP-Debugging-Umgebung ein: 1. Laden Sie MySQL herunter und installieren Sie es. 2. Aktivieren Sie PHP-FPM und hören Sie auf Port 9000. 4. Ändern Sie die Konfigurationsdatei und installieren Sie Nginx.

So richten Sie eine Linux-PHP-Debugging-Umgebung ein

Die Betriebsumgebung dieses Artikels: Ubuntu 16.04-System, PHP-Version 7.1, Dell G3-Computer.

Wie richte ich eine Linux-PHP-Debugging-Umgebung ein?

Linux PHP-Entwicklungsumgebung ist schnell etabliert

Die erstellte Umgebung ist LNMP:

1. Installieren Sie MySQL

Das ist sehr einfach. Ich verwende Ubuntu, also verwende apt source und lade die Deb-Datei herunter und folgen Sie dann dem neuen Installationsdokument: a. Apt-Bibliothek hinzufügen. c. Installieren Sie MySQL -fpm hier, lauscht auf Port 9000.

Zugehörige Dokumente:

https://dev.mysql.com/downloads/repo/apt/
Nach dem Login kopieren

a. Wählen Sie ein Bild zum lokalen Herunterladen aus oder rufen Sie die Download-Adresse ab und laden Sie es dann lokal herunter

b. Sie müssen es hinzufügen --prefix, damit das Installationsverzeichnis vorhanden istZu den Problemen, die bei der Ausführung in der Reihenfolge auftreten, gehört das Problem, dass pcre, zlib und libxml2 nicht vorhanden sind. Rufen Sie dann direkt die offizielle Website von Baidu auf Laden Sie die neueste Version des Installationspakets im tar.gz-Format herunter und entpacken Sie es, kompilieren und installieren Sie es. swooles Einführungshandbuch

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
Nach dem Login kopieren
http://php.net/manual/zh/install.unix.nginx.php
Nach dem Login kopieren

c Nach Abschluss der Installation kann die Konfigurationsdatei (das offizielle Dokument wird hier kopiert) nicht vergessen werden

https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gz
Nach dem Login kopieren

Zwischenspiel: Um zu verhindern, dass die Datei nicht vorhanden ist, verhindern Sie, dass Nginx gesendet wird die Anfrage an das Backend-PHP-FPM-Modul auf der Clientseite, um einen Angriff durch bösartige Skriptinjektion zu vermeiden

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
Nach dem Login kopieren

Da ich mit vim nicht vertraut bin, wird empfohlen, es mit grafischer Schnittstellensoftware wie sudo atom oder sudo sublime zu öffnen.

d, das Folgende ist nicht dasselbe wie das PHP-Handbuch. Das Gleiche ist: (Die folgende Funktion besteht darin, fpm PHP-FPM-Benutzergruppen und -Benutzer lesen und konfigurieren zu lassen und den Überwachungsport 9000 zu öffnen)

Tatsächlich heißt es im Handbuch, dass /usr/local/etc/php-fpm.conf überhaupt keine Benutzerkonfigurationsoptionen hat. Wenn sie manuell hinzugefügt werden, wird gemeldet, dass die Datei nicht gefunden werden kann, was sehr deprimierend ist Gehen Sie folgendermaßen vor

Erstellen Sie einen Webbenutzer:

https://linkeddestiny.gitbooks.io/easy-swoole/content/book/chapter01/install.html
Nach dem Login kopieren

Öffnen Sie

php-fpm.conf

./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
Nach dem Login kopieren

Finden Sie die Endzeile:

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
Nach dem Login kopieren

Ändern Sie NONE in den tatsächlichen Pfad:

vim /usr/local/php/lib/php.ini
修改参数为:cgi.fix_pathinfo=0
Nach dem Login kopieren
Fügen Sie dann die Benutzergruppe und die Benutzerinformationen hinzu zur regulären passenden Konfigurationsdatei:
groupadd www-data
useradd -g www-data www-data
Nach dem Login kopieren
vim /usr/local/php/etc/php-fpm.conf
Nach dem Login kopieren
Suchen Sie die Benutzereinstellungen und ändern Sie den Inhalt wie folgt:

include=NONEl/etc/php-fpm.d/*.conf
Nach dem Login kopieren

Aktivieren Sie FPM

include=/usr/local/php/etc/php-fpm.d/*.conf
Nach dem Login kopieren

e, prüfen Sie, ob es erfolgreich ist:

cd /usr/local/php/etc/php-fpm.d
sudo cp www.conf.default www.conf
Nach dem Login kopieren

Wenn Sie TCP 9000 LISTEN sehen, bedeutet das Die Konfiguration ist erfolgreich. Wenn keine Ausgabe erfolgt, bedeutet dies, dass der 9000-Port nicht zuhört. Bitte versuchen Sie es erneut Diese Versionen sind zu alt, es gibt immer verschiedene Probleme bei der Installation von PHP5 oder so oder es gibt zu viele Parameter, und ich mag die Installation von apt nicht, zumindest habe ich nicht so viel Freiheit bei der Versionsauswahl, und das habe ich Um apt zum Löschen zu verwenden, habe ich es auf die einfachste Art und Weise installiert, nämlich herunterzuladen, zu kompilieren und zu installieren zlib existiert nicht, laden Sie einfach das TAR-Paket von Baidu herunter, entpacken und installieren Sie es. Ja Antwort im Installationsverzeichnis:

Nach der Installation in /usr/local/nginx

Konfigurationsdatei: /usr/local/nginx/conf/ nginx.conf

Virtuelles Hostdateiverzeichnis: /usr/local/nginx/ html

Ausführungsdatei: /usr/local/nginx/sbin/nginx

Was die Konfigurationsdatei tun muss, ist index.php nach a hinzuzufügen. index.html b. Wenn es den .php-Regeln entspricht, übergeben Sie es an den Port 9000. Das standardmäßige virtuelle Hostverzeichnis nginx:80 php:9000 verwendet den Standardwert /usr/local/nginx/html

A Insgesamt sind zwei Orte konfiguriert:

vim /usr/local/php/etc/php-fpm.d/www.conf
Nach dem Login kopieren
; 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
Nach dem Login kopieren

Okay, jetzt gehen Sie in das Ausführungsverzeichnis

/usr/local/bin/php-fpm
Nach dem Login kopieren

Starten Sie die Erstellung des Nginx-HTML-Verzeichnisses. Geben Sie localhost/text.php in den test.php-Browser ein und Sie werden sehen, dass die Konfiguration erfolgreich ist.

PHP-Erweiterungsinstallation:

Referenzhandbuch

netstat -tln | grep 9000
Nach dem Login kopieren

Der Ausführungsprozess ist: Geben Sie den PHP-Quellcode ein, der während der Kompilierung verwendet wird. Wenn die Erweiterung des Pakets in das entsprechende Erweiterungsverzeichnis gelangt, generiert phpize die Konfigurationsdatei , ./configure, make && make install

http://www.nginx.cn/installhttp://www.nginx.cn/doc/setup/nginx-ubuntu.html
Nach dem Login kopieren

Wenn es sich um Ubuntu handelt, führen Sie es einfach direkt aus und gehen Sie dann zu lib.php/ini, um die Erweiterung hinzuzufügen. Entfernen Sie einfach die Kommentare:

http://nginx.org/en/download.html
Nach dem Login kopieren

Linux Einfache und häufig verwendete Anweisungen:

1. Suchen Sie die Datei httpd.conf im Stammverzeichnis:

tar -zxvf 
cd 
./configure --prefix=/usr/local/nginx
make 
make install
Nach dem Login kopieren

2. Zeigen Sie die

-Dateien im Verzeichnis /usr/src an (einschließlich Unterverzeichnissen)

Die Zeile Diese Suche enthält Magie und ist der Inhalt der Datei:

location / {
            root   html;
            index  index.html index.php index.htm;
        }
Nach dem Login kopieren

3. Suchinhalt des VIM-Editors

#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;#}
Nach dem Login kopieren

4. Der Prozess von PHP-FPM ist geschlossen

sudo ./nginx -s reopen
Nach dem Login kopieren

5. MySQLI-Installation

./configure –with-php-config=/usr/local/php/bin/php-config –with-mysqli=/usr/bin/mysql_config
Nach dem Login kopieren

php_config找不到

sudo apt-get install libmysqlclient-dev
Nach dem Login kopieren

之后遇到make错误,mysqli.lo不存在,是因为某个.h文件未找到导致编译失败图示:

解决方案:

https://www.cnblogs.com/xiaoqian1993/p/6277771.html
Nach dem Login kopieren

6、ubuntu安装apt install资源占用

Could not get lock /var/lib/dpkg/lock!
sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

或者添加快捷方式形式:

ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
Nach dem Login kopieren

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;
        }
    }


}
Nach dem Login kopieren

composer安装

https://pkg.phpcomposer.com/#how-to-install-composer
Nach dem Login kopieren

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonSo richten Sie eine Linux-PHP-Debugging-Umgebung ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ich kann mich nicht als Stamm bei MySQL anmelden Ich kann mich nicht als Stamm bei MySQL anmelden Apr 08, 2025 pm 04:54 PM

Die Hauptgründe, warum Sie sich bei MySQL nicht als Root anmelden können, sind Berechtigungsprobleme, Konfigurationsdateifehler, Kennwort inkonsistent, Socket -Dateiprobleme oder Firewall -Interception. Die Lösung umfasst: Überprüfen Sie, ob der Parameter Bind-Address in der Konfigurationsdatei korrekt konfiguriert ist. Überprüfen Sie, ob die Root -Benutzerberechtigungen geändert oder gelöscht und zurückgesetzt wurden. Stellen Sie sicher, dass das Passwort korrekt ist, einschließlich Fall- und Sonderzeichen. Überprüfen Sie die Einstellungen und Pfade der Socket -Dateiberechtigte. Überprüfen Sie, ob die Firewall Verbindungen zum MySQL -Server blockiert.

C Sprache Bedingte Zusammenstellung: Ein detaillierter Leitfaden für Anfänger zu praktischen Anwendungen C Sprache Bedingte Zusammenstellung: Ein detaillierter Leitfaden für Anfänger zu praktischen Anwendungen Apr 04, 2025 am 10:48 AM

C-Sprachbedingungskompilation ist ein Mechanismus zum selektiven Kompilieren von Codeblöcken, die auf Kompilierungszeitbedingungen basieren. Zu den Einführungsmethoden gehören: Verwenden von #IF- und #else -Direktiven, um Codeblöcke basierend auf den Bedingungen auszuwählen. Zu den häufig verwendeten bedingten Ausdrücken gehören STDC, _win32 und Linux. Praktischer Fall: Drucken Sie verschiedene Nachrichten entsprechend dem Betriebssystem. Verwenden Sie unterschiedliche Datentypen gemäß der Anzahl der Ziffern des Systems. Verschiedene Header -Dateien werden gemäß dem Compiler unterstützt. Die bedingte Kompilierung verbessert die Portabilität und Flexibilität des Codes und macht es an den Compiler-, Betriebssystem- und CPU -Architekturänderungen anpassbar.

【Rost-Selbststudie】 Einführung 【Rost-Selbststudie】 Einführung Apr 04, 2025 am 08:03 AM

1.0.1 Vorwort Dieses Projekt (einschließlich Code und Kommentare) wurde während meines Autodidakt-Rostes aufgezeichnet. Es kann ungenaue oder unklare Aussagen geben. Bitte entschuldigen Sie sich. Wenn Sie davon profitieren, ist es noch besser. 1.0.2 Warum ist Rustrust zuverlässig und effizient? Rost kann C und C mit ähnlicher Leistung, aber höherer Sicherheit ersetzen, und erfordert keine häufige Neukompilation, um auf Fehler wie C und C zu prüfen. Thread-Safe (stellen Sie sicher, dass Multi-Thread-Code vor der Ausführung sicher ist). Vermeiden Sie undefiniertes Verhalten (z. B. Array aus Grenzen, nicht initialisierte Variablen oder Zugriff auf den freien Speicher). Rust bietet moderne Sprachmerkmale wie Generika

Was sind die 5 grundlegenden Komponenten von Linux? Was sind die 5 grundlegenden Komponenten von Linux? Apr 06, 2025 am 12:05 AM

Die fünf grundlegenden Komponenten von Linux sind: 1. Der Kernel, Verwaltung von Hardware -Ressourcen; 2. Die Systembibliothek, die Funktionen und Dienste bereitstellt; 3. Shell, die Schnittstelle, in der Benutzer mit dem System interagieren können; 4. Das Dateisystem, das Daten speichert und organisiert; 5. Anwendungen, die Systemressourcen verwenden, um Funktionen zu implementieren.

Wie man MySQL löst, kann nicht gestartet werden Wie man MySQL löst, kann nicht gestartet werden Apr 08, 2025 pm 02:21 PM

Es gibt viele Gründe, warum MySQL Startup fehlschlägt und durch Überprüfung des Fehlerprotokolls diagnostiziert werden kann. Zu den allgemeinen Ursachen gehören Portkonflikte (prüfen Portbelegung und Änderung der Konfiguration), Berechtigungsprobleme (Überprüfen Sie den Dienst Ausführen von Benutzerberechtigungen), Konfigurationsdateifehler (Überprüfung der Parametereinstellungen), Datenverzeichniskorruption (Wiederherstellung von Daten oder Wiederaufbautabellenraum), InnoDB-Tabellenraumprobleme (prüfen IBDATA1-Dateien), Plug-in-Ladeversagen (Überprüfen Sie Fehlerprotokolle). Wenn Sie Probleme lösen, sollten Sie sie anhand des Fehlerprotokolls analysieren, die Hauptursache des Problems finden und die Gewohnheit entwickeln, Daten regelmäßig zu unterstützen, um Probleme zu verhindern und zu lösen.

Kann MySQL auf Android laufen? Kann MySQL auf Android laufen? Apr 08, 2025 pm 05:03 PM

MySQL kann nicht direkt auf Android ausgeführt werden, kann jedoch indirekt mit den folgenden Methoden implementiert werden: Die Verwendung der Leichtgewichtsdatenbank SQLite, die auf dem Android -System basiert, benötigt keinen separaten Server und verfügt über eine kleine Ressourcennutzung, die für Anwendungen für Mobilgeräte sehr geeignet ist. Stellen Sie sich remote eine Verbindung zum MySQL -Server her und stellen Sie über das Netzwerk zum Lesen und Schreiben von Daten über das Netzwerk eine Verbindung zur MySQL -Datenbank auf dem Remote -Server her. Es gibt jedoch Nachteile wie starke Netzwerkabhängigkeiten, Sicherheitsprobleme und Serverkosten.

Wo ist die C -Sprachfunktionsbibliothek? Wie füge ich die C -Sprachfunktionsbibliothek hinzu? Wo ist die C -Sprachfunktionsbibliothek? Wie füge ich die C -Sprachfunktionsbibliothek hinzu? Apr 03, 2025 pm 11:39 PM

Die C -Sprachfunktionsbibliothek ist eine Toolbox mit verschiedenen Funktionen, die in verschiedenen Bibliotheksdateien organisiert sind. Durch das Hinzufügen einer Bibliothek muss sie über die Befehlszeilenoptionen des Compiler angeben. Der GCC -Compiler verwendet beispielsweise die Option -L -Option, gefolgt von der Abkürzung des Bibliotheksnamens. Wenn sich die Bibliotheksdatei nicht unter dem Standard -Suchpfad befindet, müssen Sie die Option -L verwenden, um den Bibliotheksdateipfad anzugeben. Die Bibliothek kann in statische Bibliotheken und dynamische Bibliotheken unterteilt werden. Statische Bibliotheken sind direkt mit dem Programm zur Kompilierung verbunden, während dynamische Bibliotheken zur Laufzeit geladen werden.

Lösungen für die von MySQL auf einer bestimmten Systemversion gemeldeten Fehler Lösungen für die von MySQL auf einer bestimmten Systemversion gemeldeten Fehler Apr 08, 2025 am 11:54 AM

Die Lösung für den MySQL -Installationsfehler ist: 1. Überprüfen Sie die Systemumgebung sorgfältig, um sicherzustellen, dass die Anforderungen der MySQL -Abhängigkeitsbibliothek erfüllt werden. Unterschiedliche Betriebssysteme und Versionsanforderungen sind unterschiedlich. 2. Lesen Sie die Fehlermeldung sorgfältig durch und ergreifen Sie entsprechende Maßnahmen gemäß den Eingabeaufforderungen (z. B. fehlende Bibliotheksdateien oder unzureichende Berechtigungen), z. B. die Installation von Abhängigkeiten oder die Verwendung von SUDO -Befehlen; 3. Versuchen Sie bei Bedarf, den Quellcode zu installieren und das Kompilierungsprotokoll sorgfältig zu überprüfen. Dies erfordert jedoch eine bestimmte Menge an Linux -Kenntnissen und -erfahrung. Der Schlüssel zur letztendlichen Lösung des Problems besteht darin, die Systemumgebung und Fehlerinformationen sorgfältig zu überprüfen und auf die offiziellen Dokumente zu verweisen.

See all articles