この記事では、php7を使用してMAC上にLNMP環境を構築する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
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: 大文字と小文字を区別しません
mkdir ~/php7 && cd ~/php7 git clone https://git.php.net/repository/php-src.git
cd php-src ./buildconf
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 を追加しないでください
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 のインストールを開始します。 :
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 サイトの他の関連記事を参照してください。