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

醉折花枝作酒筹
リリース: 2023-02-18 06:22:01
転載
1696 人が閲覧しました

この記事では、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 学習者の迅速な成長を支援します!