ホームページ >バックエンド開発 >PHPチュートリアル >Mac システムでの PHP 開発
Mac OS XにはApacheとPHPが組み込まれており、非常に使いやすいです。この記事では、Mac OS X 10.6.3 を例として取り上げます。主な内容は次のとおりです:
Apacheの起動
PHPの実行
MySQLのインストール
phpMyAdminの使用
PHPのMCrypt拡張ライブラリの設定
仮想ホストのセットアップ
Apacheの起動
方法は2つあります:
「システム環境設定(システム環境設定)」を開く - > 「共有」 -> 「Web 共有」
「ターミナル」を開き、(注: sudo に必要なパスワードはシステムの root アカウントのパスワードです)
「sudo apachectl start」を実行してアカウントのパスワードを入力すると、Apache が走る。
「sudo apachectl -v」を実行すると、Mac OS での Apache のバージョン番号が表示されます。このようにして、ブラウザに「http://localhost」と入力すると、「It works!」という内容のページが表示されます。は「/Library (リソース ライブラリ)/WebServer/Documents/」の下にあります。これは Apache のデフォルトのルート ディレクトリです。
注: Apache を有効にするということは、「Web 共有」を有効にすることを意味します。この時点で、インターネット ユーザーは「http://[ローカル IP]/」を通じて「/Library (リソース ライブラリ)/WebServer/Documents/」ディレクトリにアクセスします。 「http://[ローカルIP]/~[ユーザー名]」を介して「/Users/[ユーザー名]/Sites/」ディレクトリにアクセスするには、「システム環境設定」の「ファイアウォール」で「セキュリティ」を設定して、このようなことを防ぐことができます。アクセス。
PHP を実行する
ターミナルで「sudo vi /etc/apache2/httpd.conf」を実行して、Apache 設定ファイルを開きます。 (ターミナルや vi の操作に慣れていない場合は、システムの隠しファイルをすべて Finder に表示するように設定できます。対応するファイルを見つけて必要に応じて編集できるように、忘れずに Finder を再起動してください。ただし、一部のファイルを変更するには root アカウントをオンにする必要があることに注意してください。ただし、全体としては、ターミナルで sudo を使用して一時的に root 権限を取得する方が安全です)
「#LoadModule php5_module libexec/apache2/libphp5.so」を見つけて削除します。 # 先頭に署名して保存し (コマンド ラインで「w」と入力)、vi を終了します (コマンド ラインで「q」と入力)。
「sudo cp /etc/php.ini.default /etc/php.ini」を実行すると、php.ini を通じてさまざまな PHP 関数を設定できるようになります。例:
;phpMyAdmin のインポートデータの最大値など、次の 2 つの項目で PHP 送信ファイルの最大値を調整します
upload_max_filesize = 2M
post_max_size = 8M
;例えば、エラーを表示するかどうかを制御するには、display_errors を使用しますPHP プログラムの
display_errors = Off
「sudo apachectl restart」を実行して Apache を再起動し、PHP が使用できるようにします。
「cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php」を実行します。つまり、Apache のルート ディレクトリにあるindex.html.en ファイルをコピーし、名前を info に変更します。 .php
In ターミナルで「vi /Library/WebServer/Document/info.php」を実行し、vi で info.php ファイルを編集できるようにします。 「It's works!」の後に「
」を追加して保存します。このようにして、http://localhost/info.php で PHP に関する情報を確認できます (たとえば、バージョン番号は 5.3.1)。
MySQL をインストールする
MySQL は Mac OS X にプリインストールされていないため、現在、MySQL の最も安定したバージョンは 5.1 です。 MySQL は Mac OS X のインストール手順を提供します。
MySQL 5.1 をダウンロードします。適切なバージョンを選択します。たとえば、ここでは mysql-5.1.46-osx10.6-x86_64.dmg が選択されています。
dmg を実行すると、その中に 4 つのファイルが見つかります。まずクリックして、MySQL のメイン インストール パッケージである mysql-5.1.46-osx10.6-x86_64.pkg をインストールします。通常の状況では、インストール ファイルは MySQL を /usr/local の下の同じ名前のフォルダーに自動的にインストールします。たとえば、クリックして「mysql-5.1.46-osx10.6-x86_64.dmg」を実行すると、MySQ が「/usr/local/mysql-5.1.46-osx10.6-x86_64」にインストールされます。デフォルトのインストールはすべて完了しました。
クリックして 2 番目のファイル MySQLStartupItem.pkg をインストールすると、MySQL が起動時に自動的に起動します。
3 番目のファイル MySQL.prefPane をクリックしてインストールすると、「システム設定の基本設定」に「MySQL」という名前のアイコンが表示され、MySQL を開始するか停止するか、および電源をオンにしたときに自動的に実行するかどうかを設定できます。コンピュータ。この時点で MySQL は基本的にインストールされます。
「sudo vi /etc/bashrc」を実行して、mysql と mysqladmin のエイリアスを bash 設定ファイルに追加します
#mysql
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr /local/mysql/bin/mysqladmin'
このように、たとえば、インストールが完了した後、MySQL root のデフォルトのパスワードを空に設定することで、対応する操作を比較的簡単に実行できます。パスワードを指定するには、「ターミナルで mysqladmin -u を実行します。root パスワード "mysqlpassword"」を実行します。ここで、mysqlpassword は root パスワードです。詳細については、「B.5.4.1 root パスワードのリセット方法」を参照してください。
注: Mac OS '_mysql' のアップグレード」、またはコマンド ライン プロンプトで「ソケット '/tmp/mysql.sock' (2) を介してローカル MySQL サーバーに接続できません」というメッセージが表示されます。これは /usr/local が原因であるはずです。特定の状況では /mysql/ データのホストが変更された場合は、「sudo chown -R mysql /usr/local/mysql/data」を実行してください。
さらに、PHP を使用して MySQL に接続すると、「ソケット '/var/mysql/mysql.sock' を介してローカル MySQL サーバーに接続できません」というエラーが報告されるか、localhost を使用すると MySQL に接続できない場合があります。その理由は、接続時に PHP が使用されるため、デフォルトでは /var/mysql/mysql.sock が検索されますが、MYSQL の MAC バージョンではファイルの場所が変更され、/tmp の下に配置されます。解決策は、php.ini を次のように変更することです:
mysql.default_socket = /tmp/mysql.sock
phpMyAdmin を使用します
phpMyAdmin は MySQL を管理するために PHP で開発されたプログラムで、非常に人気があり実用的です。 phpMyAdmin を使用して MySQL を管理できることは、前の手順の結果をテストする非常に効果的な方法です。
phpMyAdminをダウンロードします。適切なバージョンを選択します。たとえば、phpMyAdmin-3.3.2-all-langages.tar.bz2 バージョンを選択しました。
「ダウンロード」内のphpMyAdmin-3.32-all-langagesフォルダーを「/Users/[ユーザー名]/Sites」にコピーし、名前をphpmyadminに変更します。
config.sample.inc.php を「/Users/[username]/Sites/phpmyadmin/」にコピーし、config.inc.php という名前を付けます
config.inc.php を開いて次の変更を加えます:
Cookie の場合 暗号化、任意long string
$cfg['blowfish_secret'] = '';
phpMyAdminで「#2002 MySQLサーバーにログインできません」と表示される場合は、
localhostを127.0.0.1に変更してください。
これですこれは、MySQL デーモンが IP バインディングを実行していることが原因です (bind-address =127.0.0.1)
$cfg['Servers'][$i]['host'] = 'localhost';
false を true に変更します。パスワードなしで MySQL にアクセスできます。
MySQL にパスワードが設定されている場合でも、次のように設定して、phpMyAdmin にログインするときにパスワードを入力できます
$cfg['Servers'][$i]['AllowNoPassword'] = false ;
このようにして、http://localhost/~[ユーザー名]/phpmyadmin を通じて phpMyAdmin にアクセスできます。このとき、「mcrypt 拡張機能をロードできません。PHP 構成を確認してください。」というプロンプトが表示されます。これには、次のセクションで MCrypt 拡張機能をインストールすることが含まれます。
PHP 用の MCrypt 拡張機能の構成
MCrypt は、22 のアルゴリズムを含む強力な暗号化アルゴリズム拡張ライブラリであり、phpMyAdmin はこの PHP 拡張ライブラリに依存しています。ただし、Mac OS X でのインストールは、次のようにそれほどフレンドリーではありません:
libmcrypt-2.5.8.tar.bz2 をダウンロードして解凍します。
ターミナルで次のコマンドを実行します (次のコマンドには xcode サポートがインストールされている必要があることに注意してください):
cd ~/Downloads/libmcrypt-2.5.8/
./configure --disable-posix-threads --enable-static
make
sudo make install
PHP ソース コード ファイル php-5.3.1.tar.bz2 をダウンロードして解凍します。 Mac OS にプリインストールされている PHP バージョン
ターミナルで次のコマンドを実行します:
cd ~/Downloads/php-5.3.1/ext/mcrypt
phpize
./configure
make
cd modules
sudo cp mcrypt.so /usr/lib/php/extensions/ no-debug-non-zts-20090626/
php.ini を開きます
sudo vi /etc/php.ini
次のコードを php.ini に追加し、保存して終了し、Apache を再起動します
extension=/usr/lib/ php/extensions/no-debug-non-zts-20090626/mcrypt.so
http://localhost/~[username]/phpmyadmin にアクセスすると、「mcrypt 拡張機能をロードできません。PHP 設定を確認してください」と表示されます。 .」というプロンプトが表示されなくなりました。これは、MCrypt 拡張ライブラリが正常にインストールされたことを意味します。
仮想ホストを設定します
ターミナルで「sudo vi /etc/apache2/httpd.conf」を実行し、Apche設定ファイルを開きます
httpdで「#Include /private/etc/apache2/extra/httpd-vhosts」を見つけます。 conf.conf」の先頭の「#」を削除し、保存して終了します。
「sudo apachectl restart」を実行してApacheを再起動し、仮想ホスト構成機能を有効にします。
「sudo vi /etc/apache2/extra/httpd-vhosts.conf」を実行して仮想ホスト構成ファイル httpd-vhost.conf を開き、必要な仮想ホストを構成します。このファイルはデフォルトで例として 2 つの仮想ホストを開くことに注意してください:
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName dummy-host .example.com
エラーログ "/private/var/log/apache2/dummy-host.example.com-error_log"
カスタムログ "/private/var/log/apache2/dummy-host.example.com-access_log" 共通
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/private/var/log/apache2 /dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
実際、これら 2 つの仮想ホストは存在しません。他の仮想ホストが設定されている場合、localhost にアクセスすると次のプロンプトが表示される場合があります:
禁止
このサーバーの /index.php にアクセスする権限がありません
最も簡単な方法は、各行の前にそれらを追加することです # と # を入力するだけです他の問題を引き起こすことなく参照できるように、コメントアウトしてください。
次の設定を追加します
DocumentRoot "/Users/[username]/Sites"
ServerName sites
ErrorLog "/private/var/log/apache2/sites-error_log"
CustomLog "/private/var/log/apache2/ sites-access_log" common
Apache を保存して終了し、再起動します。
「sudo vi /etc/hosts」を実行し、ホスト構成ファイルを開き、「127.0.0.1 sites」を追加します。これにより、サイトの仮想ホストが構成され、「http://sites」を使用してそのコンテンツにアクセスできるようになります。 「http://localhost/~[ユーザー名]」とまったく同じです。
これは、Mac OS X 10.6.3 のネイティブ サポートを使用して実装された構成です。「Mac OS : Apache、PHP、SQLite、MySQL、および phpMyAdmin の構成(2)」も参照してください。実際、XAMPP や MacPorts などのサードパーティ統合ソリューションを使用して、簡単なインストールと使用を実現することもできます。