Heim  >  Artikel  >  PHP-Framework  >  Wo sollte thinkphp in verschiedenen Umgebungen platziert werden?

Wo sollte thinkphp in verschiedenen Umgebungen platziert werden?

PHPz
PHPzOriginal
2023-04-21 10:11:05915Durchsuche

Bei der Entwicklung von Webanwendungen verwenden wir häufig ausgereifte PHP-Frameworks, um die Projektentwicklung zu beschleunigen. Thinkphp ist eines der am weitesten verbreiteten Frameworks. Allerdings wissen viele Anfänger nicht, wo thinkphp platziert werden sollte, damit es richtig funktioniert. In diesem Artikel erfahren Sie, wo thinkphp in verschiedenen Umgebungen platziert werden sollte und wie seine Pfadinformationen konfiguriert werden.

1. Lokale Umgebung

In der lokalen Umgebung verwenden wir normalerweise integrierte Entwicklungsumgebungen wie XAMPP und WAMP, um den Apache-Webserver und die PHP-Umgebung zusammenzupacken. In diesem Fall können wir den Thinkphp-Ordner direkt im Stammverzeichnis des Webservers platzieren, z. B. im Verzeichnis htdocs in XAMPP, im Verzeichnis www in WAMP usw. Auf diese Weise können wir über localhost oder 127.0.0.1 im Browser auf die Website zugreifen. Wenn Ihr Projekt außerdem die Verwendung einer Datenbank erfordert, müssen Sie außerdem eine Datenbank in einem Datenbankverwaltungstool wie phpMyAdmin erstellen und über eine Konfigurationsdatei in Ihrem Programm eine Verbindung zur Datenbank herstellen.

2. Virtueller Host

Beim Shared Hosting oder VPS (Virtual Private Server) verwenden wir normalerweise virtuelles Hosting zum Hosten der Website. Abhängig von den unterschiedlichen Konfigurationen des virtuellen Hosts unterscheidet sich auch der Speicherort der PHP-Dateien. Im Allgemeinen ist das Dokumentenstammverzeichnis eines virtuellen Hosts das gemeinsame Stammverzeichnis aller Websites unter dem Host, auch Home-Verzeichnis genannt. Angenommen, Sie müssen thinkphp in einem Unterverzeichnis namens myapp ablegen. Sie können den gesamten thinkphp-Ordner in das myapp-Verzeichnis hochladen und dann in diesem Verzeichnis eine index.php-Datei mit dem folgenden Inhalt erstellen:

<?php
define(&#39;APP_PATH&#39;, __DIR__ . &#39;/../thinkphp/&#39;);
define(&#39;BIND_MODULE&#39;,&#39;index&#39;);
require __DIR__ . &#39;/../thinkphp/start.php&#39;;

Hier haben wir die APP_PATH-Konstante definiert über die Funktion define, die auf das übergeordnete Verzeichnis des thinkphp-Ordners verweist. Anschließend führen wir das Indexmodul aus und starten das gesamte Framework über die Datei start.php. Auf diese Weise können wir im Browser auf die Website zugreifen, indem wir http://yourdomain/myapp aufrufen.

Wenn Sie unterschiedliche Unterverzeichnisse für verschiedene Anwendungen erstellen müssen, können Sie das Home-Verzeichnis jeder Anwendung auf das öffentliche Verzeichnis unter diesem Verzeichnis festlegen. Das heißt, Sie müssen in jeder Anwendung ein öffentliches Verzeichnis erstellen und die Eintragsdatei Ihrer Anwendung darin ablegen, z. B.:

/project1
    /application
        /controller
        /model
        /view
        /...
    /public
        /index.php
        /assets
            /css
            /js
            /images
            /...
        /...
/project2
    /application
    /public
        /index.php
/project3
    /application
    /public
        /index.php

Dies ist eine allgemeinere Methode, da auf alles im öffentlichen Verzeichnis zugegriffen werden kann direkt über den Webserver, aber auf die Codedateien im Anwendungsverzeichnis kann nicht direkt zugegriffen werden.

3. Remote-Server

Wenn Sie Ihre Anwendung auf einem Remote-Server hosten, legen Sie sie bitte in einem öffentlichen Verzeichnis ab. Wenn Sie einen Linux-Server verwenden, können Sie den thinkphp-Ordner direkt im Verzeichnis /var/www/html ablegen. Wenn Sie einen Windows-Server verwenden, können Sie ihn im Verzeichnis C:inetpubwwwroot ablegen. Wenn Sie einen selbst erstellten virtuellen Host-Server verwenden, können Sie natürlich anhand des Verzeichnisses, das Sie im Kontrollfeld des virtuellen Hosts festgelegt haben, bestimmen, wo die Anwendung gespeichert ist.

Auf dem Remote-Server müssen Sie außerdem die Thinkphp-Pfadinformationen konfigurieren, um sicherzustellen, dass das Framework ordnungsgemäß ausgeführt werden kann. Angenommen, Sie haben das Framework-Verzeichnis unter /var/www/html/thinkphp abgelegt, müssen Sie die Hauptkonfigurationsdatei config.php ändern und den folgenden Inhalt hinzufügen:

&#39;url_common_param&#39;       => true,
'url_route_on'           => true,
'url_route_must'         => false,
'url_html_suffix'        => '',
'app_debug'              => true,
'unix_socket'            => '/var/run/mysqld/mysqld.sock',
'app_path'               => realpath(__DIR__.'/../application') . '/',

Hier konfigurieren wir app_path auf den Pfad, in dem sich der thinkphp-Ordner befindet befindet. Dadurch wird dem Framework mitgeteilt, wo nach den Codedateien der Anwendung gesucht werden soll. Beachten Sie, dass Sie in PHP __DIR__ (doppelter Unterstrich) verwenden, um das Verzeichnis der aktuellen Datei abzurufen, nicht um das aktuelle Arbeitsverzeichnis abzurufen. Daher drückt realpath(__DIR__.'/../application') den Anwendungsverzeichnispfad unter dem übergeordneten Verzeichnis von thinkphp aus.

4. Zusammenfassung

Ob in der lokalen Umgebung, auf dem virtuellen Host oder auf dem Remote-Server, wir müssen den Thinkphp-Ordner korrekt platzieren und seine Pfadinformationen konfigurieren, um den normalen Betrieb des Frameworks sicherzustellen. In diesem Artikel stellen wir einige allgemeine Vorgehensweisen vor, die Sie jedoch möglicherweise je nach Ihrer tatsächlichen Situation verfeinern müssen. Bedenken Sie jedoch, dass die korrekte Platzierung von thinkphp ein sehr wichtiger Schritt im Entwicklungsprozess ist und sicherstellt, dass die von Ihnen entwickelte Anwendung ordnungsgemäß ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWo sollte thinkphp in verschiedenen Umgebungen platziert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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