1. はじめに:
1.1. 環境の選択:
mac で php を再設定する 元々、mac には apach、php、pgsql が付属していますが、簡単な図であればそれをそのまま使用するだけですが、インストールする前によく考えて質問しました。いくつかの質問:
Apache と nginx のどちらを使用すべきか: 比較的、nginx との接触が多いですが、nginx の負荷が高いとは言えません。 nginx 環境へのアクセスを容易にするために、これが今回の主なキーです。 php のインストール: Mac os には 5.3.8 のバージョンが含まれているようです。比較的古いものですが、私は Liip の php-osx を通じて php を管理していたので、バージョンの問題を心配する必要はありませんでした。ただし、Liip の php-osx には fmp 関連の設定がないようなので、nginx で使用するのは比較的面倒です
mysql をインストール: これで間違いありません。現在、私は絶対に pgsql を使用しません。結局のところ、私は pgsql に触れたことがなく、学習コストがかかるため、この記録では pgsql に関するすべての部分を削除しました
インストール方法:
システムには環境が付属しているため、手動コンパイルなどの他の方法でインストールする必要があります。手動でコンパイルすると、次の問題が発生します:
コンパイルには時間がかかり、PHP は非常に多くのプログラムに依存し、それらを 1 つずつインストールするのは非常に面倒です。
将来アップデートされた場合はどうなりますか?災害! !
しかし幸いなことに、Mac には独自のサードパーティ管理プログラム homebrew があり、相対的に言えば、いくつかの点で Linux 上の apt-get や yum よりも優れているのではないかと思います。 homebrew を使用してオペレーティング環境のインストールと管理を行う場合、少なくともいくつかの問題を解決できます:
インストールの問題、依存プログラムをインストールするという面倒なプロセスを実行する必要がありません
アップグレードの問題、アップグレードには brew update だけが必要ですすべてのプログラムを一度に
バージョンの問題、自作バージョンの更新 比較的タイムリーで、apt-get と yum については、今年使用したものは基本的に数年前の安定バージョンです
OK、以下のインストールはすべて自作に基づいていますHomebrew に詳しくない場合、またはインストールしていない場合は、この記事「About: Mac 開発者向けの強力なツールである Homebrew の紹介とインストール」を参照してください。
2. nginx をインストールします
2.1. インストール: brew を使用してワンクリックで nginx をインストールします:
1
brew install nginx
他の nginx バージョンをインストールする必要がある場合は、nginx インストールを開いて変更できます。情報パッケージの式のデフォルトは vi で開き、ファイルの先頭にある対応するバージョンの nginx のダウンロード アドレスを変更します。
2.2. 設定
brew実行後、nginxがインストールされます。 nginx を操作するには、次のコマンドを使用できます:
コードをコピーします コードは次のとおりです:
#Open nginx
sudo nginx
#Reload|Restart|Stop|Exit nginx
nginx -s reload|reopen| stop|quit
nginxを開いた後、デフォルトのアクセスポートは8080です。一般的に使用されるポート80に変更したい場合は、「/usr/local/etc/nginx」でリスニングポートの値を変更する必要があります。 /nginx.conf」。
デフォルトのファイルアクセスディレクトリ(ルート)は「/usr/local/Cellar/nginx/1.4.2/html」です(ここでの1.4.2はインストールされているnginxのバージョンであり、フォルダー名はインストールされているnginxのバージョンに基づいています)。
2.3. 起動時に nginx が実行されるように設定します:
コードをコピーします コードは次のとおりです:
mkdir -p ~/Library/LaunchAgents/
cp /usr/local/Cellar/nginx/ 1.4.2/ homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctlload -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
しかし、試してみると、スーパーユーザーログインではありませんただし、通常のユーザーログインです。また、リスニングポートが 1024 未満の場合 (たとえば、デフォルトのポート 8080 をポート 80 に変更する)、起動時に nginx を起動できません。したがって、nginx を起動するには、管理者権限を与える必要があります:
コードをコピーします コードは次のとおりです:
2
sudo chown root:wheel /usr/local/Cellar/nginx/1.4。 2/bin /nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.4.2/bin/nginx
3. mysql
3.1をインストールします:
コードをコピーします。は以下の通りです:
brew install mysql
homebrew でインストールされたバージョンも最新の安定版です。 インストールプロセスは比較的簡単ですが、ここで何度も失敗しました。
3.2:
3.2.1MySQLのいくつかの構成データベース(Information_schema、mysql) -verbose --user= `whoami`
--basedir="$(brew --prefix mysql)"
--datadir=/usr/local/var/mysql
--tmpdir=/tmp
--explicit_defaults_for_timestamp
ここで 2 つの問題が発生し、プロセスは記録されませんでした。簡単な解決策は次のとおりです。
システムは、「--explicit_defaults_for_timestamp」を追加することを提案しました。
インストール プロセス中に、いくつかのファイルが存在するというエラーが発生します。 db が正しくありません。
オンラインで検索したところ、ほとんどの提案は /usr/local/var/mysql ディレクトリの権限を変更することです。
操作後、これが原因ではないことがわかりました。この問題の原因は、エラーが発生して前の操作を中止したことです。不完全な var ディレクトリが生成されるため、インストールが失敗するたびに、次のファイルを削除して再初期化します
。コードは次のとおりです:
sudo rm /usr/local/opt/mysql/my .cnf
sudo rm -R /usr/local/var/mysql/
インストールが完了すると、mysql の大きな部分が作成されます。関連情報が表示されます。次のコマンドを実行して mysql を起動します
コードをコピーします コードは次のとおりです:
/usr/local/opt/mysql/bin/mysqld_safe &
実行後、ターミナルで「mysql」を実行して、mysql データベースに直接入力できます。はい、パスワードを入力せずに直接接続できます。初期デフォルトは匿名アクセスです。
3.2.2. パスワードを変更します
スーパーユーザー「root」にもパスワードがありませんので、次のコマンドを実行できます
コードをコピーします コードは次のとおりです。
/usr/local/opt/mysql/bin /mysqladmin -u root パスワード 'new-password'
ログインにセキュリティ アクセス制限を設定したい場合は、今でも mysql にアクセスするときにパスワードなしで接続できます。パスワードを設定するには、次の mysql セキュア インストール手順を実行する必要があります
コードをコピーします コードは次のとおりです:
/usr/local/opt/mysql/bin/mysql_secure_installation
主に、 root パスワード (設定されている場合は設定する必要はありません。スキップします)、匿名アクセスの削除、ルート ネットワーク アクセスの削除、テスト データベースの削除。コマンド実行後、mysqlにログインするにはパスワード認証が必要になります
コードをコピーします コードは次のとおりです:
mysql -u root -p
3.3 起動後にmysqlを起動します
コードをコピーします コードは次のとおりです:
mkdir -p ~/Library/LaunchAgents/
cp /usr/local/Cellar/mysql/5.6.13/homebrew.mxcl.mysql.plist ~ /Library/LaunchAgents/
launchctlload -w ~/Library /LaunchAgents/homebrew.mxcl.mysql.plist
この時点で、mysql がインストールされます。
4. php、php-fpm をインストールする...
4.1. インストール
Mac には php がプリインストールされていますが、多くの拡張機能はターミナルでのみ実行できるため、php を再インストールすることにしました。 brew にはデフォルトで PHP がインストールされていないため、「brew Tap」を使用して brew のサードパーティ パッケージをインストールする必要があります。ここでは josegonzalez の PHP インストール パッケージを使用します。具体的な操作は次のとおりです:
コードをコピーします。コードは次のとおりです: brew Tap homebrew/dupesbrew Tap josegonzalez/homebrew-php
実行後、brew を使用して php をインストールできます。インストールできるphpのバージョンはいくつかあります。具体的には「brew search php」を実行すると、どのバージョンのphpがインストールできるかがわかります。私は最新のphp5をインストールしました。 .5バージョン。 PHP5.5 バージョンには FPM (FastCGI Process Manager) が組み込まれているため、インストール オプションでそれを指定するだけです。私の PHP インストール設定手順は次のとおりです:
コードをコピーします
コードは次のとおりです: sudo brew install php55 --with-debug
--with-fpm
--with-gmp
--with-homebrew-openssl
--with-imap --with-intl
--with-libmysql
-- without-bz2
- -without-mysql
--without-pcntl
--without-pear
その他のインストール オプションは、「brew options php55」で確認できます。
ヒント: –with-cgi と –with-fpm は互いに競合するため、一緒にインストールすることはできません。
コマンドの実行後、php と php-fpm がインストールされます。
4.2. 設定
phpの再インストールにより、システムにプリインストールされているphpがアンインストールされていないため、ターミナルからphpを呼び出す際には、以前のシステムのphpバージョンがそのまま解析に使用されます。ここで php の解析パスを指定するように変更する必要があります。 ~/.bashrc の最後に行を追加します (存在しない場合は作成します):
コードをコピーします
コードは次のとおりです: export PATH="$(brew --prefix php54)/bin:$PATH"[html]
[code]
source ./.profile
このファイルが存在しない場合は、この記事を参照して設定してください: Mac システムのターミナル コマンド ラインでコマンドが実行されず、「コマンドが見つかりません」というメッセージが常に表示されます。
OK、php-fpm のインストールは完了です。
phpまたはphp-fpmの設定を変更したい場合は、「/usr/local/etc/php/5.5/php.ini」と「/usr/local/etc/php/5.5/php-fpm」を変更できます。 .conf」。
詳細な設定方法については、関連情報を参照してください:
php-fpm 起動パラメータと重要な設定の詳細
Linux のスムーズなコンパイルと php の 5.5.0 へのアップグレード
php-fpm を開始するには、単に「php-fpm」を直接実行します-fpm はデフォルトでターミナルを開き、ステータス シェルを表示します。php-fpm 設定ファイルの「daemonize = no」を「daemonize = yes」に変更することもできます。これにより、バックグラウンド デーモンとして起動されます。新しく変更された設定ファイルを「php-fpm -t」を実行して、設定に問題がないかどうかを確認できます。
4.3. 起動します
起動時に php-fpm を起動します (以下の 5.5.3 は、現在インストールされている PHP の特定のバージョン番号です):
コードをコピーします コードは次のとおりです:
mkdir -p ~ /Library/LaunchAgents/
cp /usr/local/Cellar/php54/5.5.3/homebrew-php.joseonzalez.php55.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew-php .joseonzalez.php55. plist
便宜上、php-fpm を起動、終了、再起動するシェル スクリプトを作成しました:
コードをコピーします コードは次のとおりです:
#!/bin/ sh
param=$1
start ()
{
fpms=`ps aux | awk '{print $2}'`
if [ ! fpms" ]; then
php-fpm H Echo "PHP-FPM Start"
Else
Echo "PHP-FPM ALREADY Start"
fi
}
Stop () {
fpms = `PS AUX | GREP -I" PHP -fpm "| grep -v grep | awk '{print $ 2}'`
echo $ fpms | xargs kill $ fpmsのpid;
stop;;
'restart')
stop
start;;
*)
echo "Usage: ./phpfpm.sh start|stop|restart";
esac
5. nginx php -fpm configure を設定します
解析されたファイルタイプ「indexindex.htmlindex.htmindex.php;」をサーバーブロックに追加します
コードをコピーします
コードは次のとおりです。
indexindex.htmlindex.htmindex.php;
…
}
nginxのデフォルトのコメントアウトされたphpの場所設定を開き、次のように変更します(パスなどの特定の設定パラメータは、ここでのローカルインストールの影響を受けます)。
次のようにコードをコピーします:
Location ~.*. (PHP | PHP5)? $ { #Fastcgi_pass unix: /TMP/php-cgi.sock; FastCgi_pass 127.0.0.1:9000; php; fastcgi_param SCRIPT_FILENAME /Library/WebServer/public_html$fastcgi_script_name; ユーザー、ユーザー グループを含めます:
コードをコピーします
コードは次のとおりです:
sudo chown www:www /Library/WebServer/public_html
OK、アクセス ディレクトリ (デフォルトは /Library/WebServer/public_html) で php ファイルを実行できるようになります。さて、早速「phpinfo()」を出力してみます~
コードをコピー
コードは次のとおりです:
phpinfo();
http://www.bkjia.com/PHPjc/825016.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/825016.html技術記事 1. はじめに: 1.1. 環境の選択: mac で php を再設定する 元々、mac には apach、php、pgsql が付属しています。簡単な図であれば、そのまま使用することもできますが、インストールする前に...