php7を使用してMAC上にLNMP環境を構築する方法

Lisa Kudrow
リリース: 2023-02-18 06:22:01
転載
1676 人が閲覧しました

この記事では、php7を使用してMAC上にLNMP環境を構築する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

php7を使用してMAC上にLNMP環境を構築する方法

1. MySQL をインストールします:

MySQL の利用可能なバージョン情報を確認します:

brew info mysql
ログイン後にコピー

ここで表示されるバージョンは 5.7.10 です :

mysql: stable 5.7.10 (bottled)
ログイン後にコピー

次に MySQL5.7.10 をインストールします:

brew install mysql
ログイン後にコピー

インストールが完了したら、プロンプトに従って plist ファイルを ~/Library/LaunchAgents/ に配置してロードし、MySQL が開始されるように設定します。 boot:

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
ログイン後にコピー

MySQL の起動:

mysql.server start
ログイン後にコピー

起動後、MySQL はデフォルトでパスワードを設定しないため、root パスワードを設定する必要があります:

mysql -uroot -p
ログイン後にコピー

プロンプトが表示されたら、パスワードを入力し、Enter キーを押してログインします。MySQL にログインした後、プロンプトは次のようになります:

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.10 Homebrew
ログイン後にコピー

次に、root パスワードを設定します:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
ログイン後にコピー

パスワードを設定するときは、強力なパスワードのルールについては、公式の指示は次のとおりです:

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.
ログイン後にコピー

使いやすさを考慮して、どの接続にも root ユーザーを作成することがよくあります:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass4!' WITH GRANT OPTION;
ログイン後にコピー

権限を更新してコマンドを有効にします:

flush privileges;
ログイン後にコピー

MySQL を終了: exit; PHP 7.1.0 -dev (cli) (ビルド: 2016 年 2 月 4 日 09:02:09) ( ZTS DEBUG ) Copyright (c) 1997-2016 PHP グループ Zend Engine v3.1.0-dev、著作権 (c) 1998-2016 Zend Technologies Zend OPcache v7.0.6-dev、著作権 (c) 1999-2016、Zend Technologies を使用して mysql 設定ファイルをコピーします:

sudo cp /usr/local/Cellar/mysql/5.7.10/support-files/my-default.cnf /etc/my.cnf
ログイン後にコピー

/etc/my.cnf の [mysqld] の後に lower_case_table_names=1 を追加し、再起動しますMYSQL サービスにアクセスし、設定は成功しました: テーブル名は大文字と小文字を区別しません;

PS. lower_case_table_names パラメーターの詳細: 0: 大文字と小文字を区別します、1: 大文字と小文字を区別しません

2、 php7 のインストール:

①、php7 のダウンロード:

mkdir ~/php7 && cd ~/php7 git clone https://git.php.net/repository/php-src.git
ログイン後にコピー

②、php7 のビルド:

cd php-src ./buildconf
ログイン後にコピー

③、php のコンパイル:

PS。メモリは 1G 未満です。最後に追加してください: --disable-fileinfo,

php7 をインストールするときは、re2c、bison、ffmpeg、mcrypt、libiconv、gd、openssl をインストールする必要があります:

re2c のインストール:

brew install re2c
ログイン後にコピー

bison (3.0.4) のインストール:

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
ログイン後にコピー

ffmpeg のインストール:

brew install ffmpeg
ログイン後にコピー

openssl のインストール:

brew install openssl brew link openssl --force
ログイン後にコピー

mcrypt のインストール:

brew install mcrypt
ログイン後にコピー

libiconv のインストール:

brew install libiconv
ログイン後にコピー

openssl を使用する場合は、openssl をインストールしたばかりですが、システムには openssl が付属しているため、システム独自の openssl をインストールされている openssl と置き換える必要があります。 openssl:

sudo ln -sf /usr/local/opt/openssl/bin/openssl /usr/bin/openssl
ログイン後にコピー

置き換えが完了したら、openssl のバージョンを入力すると、これが上記の brew でインストールされた openssl であることがわかります。これは、openssl のヘッダーが PHP のコンパイル中に必要になるためですが、インストール中にはインストールされません。

Compile php7:

./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
ログイン後にコピー

コンパイル プロセス中に次のプロンプトが表示された場合: ヘッダー ファイル libintl.h が見つかりません。次の操作を実行してください。

①、gettext をインストールします:

brew install gettext
ログイン後にコピー

②、configure ファイルを変更します:

vi configure
ログイン後にコピー

次のファイルを見つけます:

for i in $PHP_GETTEXT /usr/local /usr ; do
ログイン後にコピー

次のように置き換えます:

for i in $PHP_GETTEXT /usr/local /usr /usr/local/opt/gettext; do
ログイン後にコピー

openssl エラーが表示された場合は、コンパイル中に openssl へのパスを設定します (

--with-openssl=/usr/local/opt/openssl/
ログイン後にコピー

④)。完了後にコンパイルしてインストールします:

make && make install
ログイン後にコピー

多くの方法を試して ssl を要求する場合エラー、コンパイル時に openssl を追加しないでください

⑤ インストール完了後、php7 を設定します:

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
ログイン後にコピー

インストール完了後にプロンプトが表示されます:

You may want to add: /usr/local/php7/lib/php/php to your php.ini include_path
ログイン後にコピー

次の編集php.ini,

vi /etc/php.ini
ログイン後にコピー
ログイン後にコピー

php.ini の include_path を検索 include_path を追加:

include_path = "/usr/local/php7/lib/php/php"
ログイン後にコピー

php のバージョンを確認:

php -v
ログイン後にコピー

表示結果は次のとおりです:

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
ログイン後にコピー

php7 が opcache をサポートするように構成を変更します。インストールが完了すると、プロンプトが表示されます:

Installing shared extensions: /usr/local/php7/lib/php/extensions/debug-zts-20151012/
ログイン後にコピー

このパスは拡張機能パッケージのパスです。パスをコピーし、extension_dir を見つけて、そのパスを php に追加します.ini.

vi /etc/php.ini
ログイン後にコピー
ログイン後にコピー

extension_dir 構成を php.ini に追加します:

extension_dir = "/usr/local/php7/lib/php/extensions/debug-zts-20151012/"
ログイン後にコピー

opcache 拡張機能を有効にします:

php.ini で opcache を見つけ、opcache.so

sudo mkdir -p /var/log/opcache vi /etc/php.ini
ログイン後にコピー
を追加します

opcache.so:

zend_extension=opcache.so
ログイン後にコピー

を参照し、opcache の設定を変更します。 :

opcache.enable=1opcache.enable_cli=1opcache.file_cache="/var/log/opcache/"
ログイン後にコピー

次に、php のバージョン情報を確認します。表示される結果は次のとおりです。

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
ログイン後にコピー

opcache 拡張機能が追加されたので、php-fpm の構成を変更します:

vi /etc/php-fpm.conf
ログイン後にコピー

Modify theconfiguration:

pid = run/php-fpm.pid error_log = log/php-fpm.log
ログイン後にコピー

Start php-fpm:

php-fpm -D
ログイン後にコピー

これにより、プロンプトが表示されます。 2 つの警告:

[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
ログイン後にコピー

php-fpm を停止するコマンドは次のとおりです:

kill -INT `cat /usr/local/php7/var/run/php-fpm.pid`
ログイン後にコピー

Restart php- fpm コマンドは次のとおりです:

kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`
ログイン後にコピー

次に、nginx のインストールを開始します。 :

3. nginx のインストール:

brew install nginx
ログイン後にコピー

nginx のインストール完了後のデフォルトのルート パスは次のとおりです:

Docroot is: /usr/local/var/www
ログイン後にコピー

nginx の設定ファイル ディレクトリは次のとおりです。 :

/usr/local/etc/nginx/nginx.conf
ログイン後にコピー

nginx 仮想サイト ディレクトリは次のとおりです:

nginx will load all files in /usr/local/etc/nginx/servers/.
ログイン後にコピー

Start nginx on boot:

ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
ログイン後にコピー

Start nginx:

nginx
ログイン後にコピー

nginx には root 権限が必要です。ポート 80 をリッスンします。現在、nginx はデフォルトでポート 8080 をリッスンします:

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
ログイン後にコピー

nginx を設定するには、まず nginx 設定ファイルを /etc の下に置きます:

sudo ln -s /usr/local/etc/nginx/nginx.conf /etcsudo ln -s /usr/local/etc/nginx/servers /etc/nginxservers
ログイン後にコピー

nginx リッスン ポートを変更します:

sudo vi /etc/nginx.conf
ログイン後にコピー

構成ファイルを次のように変更します。

#user nobody; worker_processes 4; error_log /usr/local/var/log/error.log; error_log /usr/local/var/log/error.log notice; error_log /usr/local/var/log/error.log info; pid /usr/local/var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /usr/local/var/log/access.log main; port_in_redirect off; sendfile on; tcp_nopush on; keepalive_timeout 65; gzip on; # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} include servers/*.conf; }
ログイン後にコピー

次に、/etc/nginxservers/ にdefault.conf を作成し、default.conf を編集して、次の内容を追加します。

server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_intercept_errors on; include /usr/local/etc/nginx/fastcgi.conf; } } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
ログイン後にコピー

Atこの時点で LNMP が設定されているので、php-fpm と nginx を再起動します。

推奨学習:php ビデオ チュートリアル

以上がphp7を使用してMAC上にLNMP環境を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!