Symfony on Vagrant Performance Hacks - Sulucms Fallstudie
Schlüsselpunkte: Dieses Tutorial optimiert Sulu, ein symfonybasiertes CMS, für eine schnellere Leistung in einer vagranten Umgebung. Es befasst sich mit Symfonys inhärenten Langsamkeit auf virtuellen Maschinen mit gemeinsam genutzten Dateisystemen. Die detaillierten Techniken gelten für jede Symfony -Anwendung.
Diese Handbuchdetails Einrichten von Sulu auf Vagrant, einschließlich Box -Download, Ordnerfreigabekonfiguration, Sulu -Installation und entscheidende Leistungsverbesserungen. Nach der Anwendung dieser Optimierungen sollten sowohl https://test.app/admin
als auch https://test.app
signifikant schneller sein.
Einrichten und Optimieren von Sulu auf Vagrant
Wir werden das Homestead verbessert, aber die Prinzipien gelten im Großen und Ganzen.
1. Erstes Setup:
- Klon Das Gehöft verbesserte das Repository und konfigurieren Sie die Ordnerfreigabe:
git clone https://github.com/swader/homestead_improved hi_sulu cd hi_sulu; bin/folderfix.sh
Nach dem Login kopieren - Stellen Sie die Dateifreigabe auf NFS fest (empfohlen, bekannte Probleme zu mildern).
- Fügen Sie
Homestead.yaml
:eine neue Site hinzu- map: test.app to: /home/vagrant/Code/sulu/web type: symfony-sulu
Nach dem Login kopieren(Die bereitgestellte Nginx-Konfiguration ist entscheidend; passen Sie sich nach Bedarf für Nicht-Homestead-Umgebungen an.)
2. Vagrant- und Sulu -Installation:
- starten Sie die VM und SSH in:
vagrant up; vagrant ssh
Nach dem Login kopieren - add
test.app
zu der/etc/hosts
-Fatei Ihres Hosts. - Sulu installieren:
cd Code git clone https://github.com/sulu-io/sulu-standard sulu; cd sulu git checkout master composer install
Nach dem Login kopieren(adressieren Sie potenzielle PHP -Versionen; Upgrade bei Bedarf mit
sudo apt-get upgrade php7.0-fpm
.) - Sulu konfigurieren (Datenbankdetails erforderlich):
cp app/Resources/webspaces/sulu.io.xml.dist app/Resources/webspaces/sulu.io.xml cp app/Resources/pages/default.xml.dist app/Resources/pages/default.xml cp app/Resources/pages/overview.xml.dist app/Resources/pages/overview.xml cp app/Resources/snippets/default.xml.dist app/Resources/snippets/default.xml rm -rf app/cache/* rm -rf app/logs/*
Nach dem Login kopieren - Befehl ausführen (Entwicklungsumgebung):
app/console sulu:build dev
Nach dem Login kopieren - Vermögen generieren:
app/console assetic:dump
Nach dem Login kopieren - Dev -Modus in
web/admin.php
undweb/website.php
aktivieren (ändern SieSYMFONY_ENV
zudev
).
3. Leistungsoptimierung Hacks:
- log- und cache -Optimierung: Methoden
app/AbstractKernel.php
undgetCacheDir
für Dev/Test -UmgebungengetLogDir
und/dev/shm
. Dies verschiebt Protokolle und Cache in VM-Local Storage. - Vendor-Verzeichnis verschieben: Verschieben Sie das Verzeichnis
vendor
auf einen VM-Local-Pfad (z. B./home/vagrant/vendors/sulu-test.app
). Dies verbessert die Leistung erheblich, indem der Zugriff auf gemeinsam genutztes Dateisystem vermieden wird. (detaillierte Schritte finden Sie im ursprünglichen Artikel zur manuellen Anpassung.) Verwenden Sie das bereitgestellte Skript~/Code/bin/sulu/vendorfix.sh
oder befolgen Sie die manuellen Schritte. Aktualisieren Sie Ihre IDEs entsprechend den Pfad. - Aktivieren Sie das APC -Caching: APC Autoloader Caching in
web/website.php
undweb/admin.php
. - Zusätzliche Optimierungen: Erhöhen Sie
realpath_cache_size
undrealpath_cache_ttl
in/etc/php/7.0/fpm/php.ini
. Betrachten Sie die Installation der Twig C -Erweiterung und Deaktivierung von XDebug (sudo phpdismod xdebug; sudo service php7.0-fpm restart
).
4. Fehlerbehebung:
adressieren gemeinsame Probleme wie abgestandener Cache, falsche Klassenorte (verwenden Sie app/console cache:clear
, rm -rf app/cache/*
, composer update
) und APC -Cache -Busting (apc_clear_cache()
). Optimieren Sie das Debuggen bei Bedarf.
Schlussfolgerung:
Diese Optimierungen verbessern die Leistung von Sulu auf Vagrant dramatisch. Die Techniken, insbesondere der Umzug und die Optimierung des Anbieters Verzeichnis, sind weit verbreitet für jedes Symfony -Projekt. Denken Sie daran, die Pfade und Konfigurationen an Ihr spezifisches Setup anzupassen. Der FAQS -Abschnitt enthält einen weiteren Kontext und beantwortet gemeinsame Fragen zu Symfony, Sulu und Vagrant -Leistung.
Das obige ist der detaillierte Inhalt vonSymfony on Vagrant Performance Hacks - Sulucms Fallstudie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











In PHP sollten die Funktionen für Passwort_Hash und passwart_verify verwendet werden, um sicheres Passwort -Hashing zu implementieren, und MD5 oder SHA1 sollte nicht verwendet werden. 1) Passwort_hash generiert einen Hash, der Salzwerte enthält, um die Sicherheit zu verbessern. 2) Passwort_Verify prüfen Sie das Passwort und sicherstellen Sie die Sicherheit, indem Sie die Hash -Werte vergleichen. 3) MD5 und SHA1 sind anfällig und fehlen Salzwerte und sind nicht für die Sicherheit der modernen Passwort geeignet.

PHP -Typ -Eingabeaufforderungen zur Verbesserung der Codequalität und der Lesbarkeit. 1) Tipps zum Skalartyp: Da Php7.0 in den Funktionsparametern wie int, float usw. angegeben werden dürfen. 3) Eingabeaufforderung für Gewerkschaftstyp: Da Php8.0 in Funktionsparametern oder Rückgabetypen angegeben werden dürfen. 4) Nullierstyp Eingabeaufforderung: Ermöglicht die Einbeziehung von Nullwerten und Handlungsfunktionen, die Nullwerte zurückgeben können.

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.
