Heim >Backend-Entwicklung >PHP7 >So erstellen Sie mit PHP7 eine LNMP-Umgebung auf einem MAC
In diesem Artikel erfahren Sie, wie Sie mit PHP7 eine LNMP-Umgebung auf einem MAC erstellen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Überprüfen Sie die verfügbaren MySQL-Versionsinformationen:
brew info mysql
Die Version, die ich hier sehe, ist 5.7.10:
mysql: stable 5.7.10 (bottled)
Als nächstes installieren Sie MySQL 5.7.10:
brew install mysql
Nachdem die Installation abgeschlossen ist, Folgen Sie der Aufforderung, die Plist-Datei in ~/Library/LaunchAgents/ abzulegen und zu laden. Stellen Sie MySQL so ein, dass es beim Start startet:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
MySQL starten:
mysql.server start
Da MySQL nach dem Start standardmäßig kein Passwort festlegt, müssen Sie dies tun Legen Sie das Root-Passwort fest:
mysql -uroot -p
Wenn Sie zur Eingabe des Passworts aufgefordert werden, drücken Sie einfach die Eingabetaste, um sich anzumelden. Nach der Anmeldung bei MySQL lautet die Eingabeaufforderung wie folgt:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.10 Homebrew
Als nächstes legen Sie das Root-Passwort fest:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Beim Festlegen des Passwort, es ist am besten, ein sicheres Passwort festzulegen, offiziell. Es gibt die folgenden Anweisungen:
Note MySQL's validate_password plugin is installed by default. This will require that passwords contain at least one upper case letter, one lower case letter, one digit, and one special character, and that the total password length is at least 8 characters.
Zur Vereinfachung der Verwendung erstellen wir häufig einen Root-Benutzer für jede Verbindung:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass4!' WITH GRANT OPTION;
Aktualisieren Sie die Berechtigungen, um den Befehl auszuführen wirksam werden:
flush privileges;
MySQL beenden: beenden; PHP 7.1.0-dev (cli) (erstellt: 4. Februar 2016 09:02:09) (ZTS DEBUG) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies mit Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, von Zend Technologies Kopieren Sie die MySQL-Konfigurationsdatei:
sudo cp /usr/local/Cellar/mysql/5.7.10/support-files/my-default.cnf /etc/my.cnf
Fügen Sie Lower_case_table_names=1 nach [mysqld] in /etc/my.cnf hinzu, starten Sie den MYSQL-Dienst neu, Zu diesem Zeitpunkt war die Einstellung erfolgreich: Beim Tabellennamen wird die Groß-/Kleinschreibung nicht beachtet;
PS.lower_case_table_names Parameterdetails: 0: Groß-/Kleinschreibung wird berücksichtigt, 1: Groß-/Kleinschreibung wird nicht berücksichtigt
mkdir ~/php7 && cd ~/php7 git clone https://git.php.net/repository/php-src.git
cd php-src ./buildconf
PS. Wenn der Speicher beim Kompilieren weniger als 1 GB beträgt, fügen Sie bitte am Ende Folgendes hinzu: --disable-fileinfo,
Bei der Installation von PHP7, Sie müssen re2c, bison, ffmpeg, mcrypt, libiconv, gd, openssl installieren:
Re2c installieren:
brew install re2c
Bison (3.0.4) installieren:
brew install bison brew switch bison 3.0.4 brew link bison --force sudo mv /usr/bin/bison /usr/bin/bison.orig sudo ln -s /usr/local/bin/bison /usr/bin/bison
Öffnet installieren:
brew install ffmpeg
Installieren mcrypt:
brew install openssl brew link openssl --force
Libiconv installieren:
brew install mcrypt
Wenn Sie OpenSSL verwenden möchten, haben Sie OpenSSL gerade installiert, aber das System wird mit OpenSSL geliefert, daher müssen Sie das OpenSSL, das mit dem System geliefert wird, durch das installierte OpenSSL ersetzen:
brew install libiconv
PHP7 kompilieren:
sudo ln -sf /usr/local/opt/openssl/bin/openssl /usr/bin/openssl
Wenn während des Kompilierungsprozesses die Meldung angezeigt wird: Header-Datei libintl.h kann nicht gefunden werden, führen Sie bitte die folgenden Vorgänge aus:
①, gettext installieren:
./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --enable-bcmath --enable-calendar --enable-debug --enable-exif --enable-fileinfo --enable-filter --enable-fpm --enable-ftp --enable-gd-jis-conv --enable-gd-native-ttf --enable-hash --enable-json --enable-libxml --enable-maintainer-zts --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-opcache-file --enable-pcntl --enable-pdo --enable-session --enable-shared --enable-shmop --enable-simplexml --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-xml --enable-zip --with-bz2 --with-curl --with-fpm-user=www --with-fpm-group=www --with-freetype-dir=/usr --with-gd --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-mcrypt=/usr/include --with-mhash --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --with-png-dir=/usr --with-xmlrpc --with-zlib -with-libxml-dir=/usr
②, Konfigurationsdatei ändern:
brew install gettext
Suchen Sie die folgende Datei:
vi configure
for i in $PHP_GETTEXT /usr/local /usr ; do
Wenn ein OpenSSL-Fehler angezeigt wird, legen Sie beim Kompilieren den Pfad auf OpenSSL fest. Kompilieren und installieren Sie nach Abschluss:
for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
Wenn Sie viele Methoden ausprobieren und einen SSL-Fehler melden, tun Sie dies OpenSSL beim Kompilieren nicht hinzufügen
--with-openssl=/usr/local/opt/openssl/
In der Installation wird nach Abschluss der Übertragung eine Eingabeaufforderung angezeigt:
make && make install
sudo ln -s /usr/local/php7/bin/php* /usr/bin/ sudo ln -s /usr/local/php7/sbin/php-fpm /usr/bin cp php.ini-production /usr/local/php7/etc/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf sudo ln -s /usr/local/php7/etc/php.ini /etc/php.ini sudo ln -s /usr/local/php7/etc/php-fpm.conf /etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
finden Sie include_path , füge include_path zu php.ini hinzu:
You may want to add: /usr/local/php7/lib/php/php to your php.ini include_path
Überprüfen Sie die PHP-Version:
vi /etc/php.ini
Das Ergebnis ist wie folgt:
include_path = "/usr/local/php7/lib/php/php"
Ändern Sie die Konfiguration, stellen Sie sicher, dass PHP7 den Opcache unterstützt. Wenn die Installation abgeschlossen ist, wird Folgendes angezeigt:
php -v
Dies path ist der Pfad des Erweiterungspakets. Kopieren Sie den Pfad, suchen Sie extension_dir und fügen Sie den richtigen Pfad zu php.ini hinzu. ini, opcache.so hinzufügen
PHP 7.1.0-dev (cli) (built: Feb 4 2016 09:02:09) ( ZTS DEBUG ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
Opcache.so zitieren:
Installing shared extensions: /usr/local/php7/lib/php/extensions/debug-zts-20151012/
Und die Konfiguration von opcache ändern:
vi /etc/php.ini
Jetzt die PHP-Version überprüfen. Die angezeigten Informationen lauten wie folgt:
extension_dir = "/usr/local/php7/lib/php/extensions/debug-zts-20151012/"
Jetzt wurde die Opcache-Erweiterung hinzugefügt , ändern Sie die Konfiguration von php-fpm:
sudo mkdir -p /var/log/opcache vi /etc/php.ini
Ändern Sie die Konfiguration:
zend_extension=opcache.so
Starten Sie php-fpm:
opcache.enable=1opcache.enable_cli=1opcache.file_cache="/var/log/opcache/"
Dies führt zu zwei Warnungen:
PHP 7.1.0-dev (cli) (built: Feb 4 2016 09:02:09) ( ZTS DEBUG ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Der Befehl zum Stoppen von php-fpm lautet wie folgt:
vi /etc/php-fpm.conf
Der Befehl zum Neustart von php-fpm lautet wie folgt:
pid = run/php-fpm.pid error_log = log/php-fpm.log
Als nächstes beginnen Sie mit der Installation von Nginx:
3. Installieren Sie Nginx:
php-fpm -D
Nach Abschluss der Installation von Nginx lautet der Standard-Root-Pfad wie folgt:
Die Konfigurationsdatei Das Verzeichnis von[04-Feb-2016 09:45:25] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root [04-Feb-2016 09:45:25] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
nginx lautet wie folgt:
kill -INT `cat /usr/local/php7/var/run/php-fpm.pid`
nginx Das virtuelle Site-Verzeichnis lautet wie folgt:
kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`
Starten Sie Nginx beim Booten:
brew install nginx
Docroot is: /usr/local/var/www
nginx benötigt Root-Berechtigungen, um Port 80 abzuhören. Jetzt lauscht Nginx standardmäßig. 8080-Port:
/usr/local/etc/nginx/nginx.conf
Um Nginx zu konfigurieren, platzieren Sie zunächst die Nginx-Konfigurationsdatei unter /etc:
nginx will load all files in /usr/local/etc/nginx/servers/.
Ändern Sie den Nginx-Listening-Port:
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
Ändern Sie die Konfigurationsdatei wie folgt:
nginx
Dann erstellen Sie die Standarddatei unter /etc:
sudo chown root:wheel /usr/local/Cellar/nginx/1.8.1/bin/nginx sudo chmod u+s /usr/local/Cellar/nginx/1.8.1/bin/nginx
etc/nginxservers/ .conf, bearbeiten Sie default.conf und fügen Sie den folgenden Inhalt hinzu:
sudo ln -s /usr/local/etc/nginx/nginx.conf /etcsudo ln -s /usr/local/etc/nginx/servers /etc/nginxservers
An diesem Punkt wurde LNMP eingerichtet, starten Sie php-fpm und nginx neu.
Empfohlenes Lernen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonSo erstellen Sie mit PHP7 eine LNMP-Umgebung auf einem MAC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!