目次
Mac OS X での Apache + PHP + MySQL の設定
Apacheを起動する
PHPを実行する
MySQLをインストールする
使用phpMyAdmin
配置PHP的MCrypt扩展
设置虚拟主机
您或许有兴趣:
ホームページ php教程 php手册 Mac OS X での Apache + PHP + MySQL の構成

Mac OS X での Apache + PHP + MySQL の構成

Jul 09, 2016 am 09:09 AM
apache mac os x mysql php コード オープンソース プログラミング プログラミング言語 ソフトウェア開発 構成

作者を尊重します: 転載元: http://dancewithnet.com/2010/05/09/run-apache-php-mysql-in-mac-os-x/

Mac OS X での Apache + PHP + MySQL の設定

Mac OS XにはApacheとPHPが組み込まれており、非常に使いやすいです。この記事では、Mac OS X 10.6.3 と 10.8.1 を例として取り上げます。主な内容は次のとおりです:

  1. Apacheを起動する
  2. PHPを実行する
  3. MySQLをインストールする
  4. phpMyAdminを使用する
  5. PHP の MCrypt 拡張ライブラリの構成
  6. 仮想ホスティングを設定する

Apacheを起動する

2つの方法があります:

  1. 「システム環境設定」→「共有」→「Web共有」を開きます。 Mac OS X 10.8より「Web共有」が廃止されましたのでご注意ください。
  2. 「ターミナル」を開き、(sudoに必要なパスワードはシステムのrootアカウントのパスワードであることに注意してください)
    1. sudo apachectl start」を実行し、アカウントのパスワードを入力すると、Apache が実行されます。
    2. sudo apachectl -v」を実行すると、Mac OS X の Apache バージョン情報 (10.8.1 など) が表示されます。 リーリー

このように、ブラウザに「http://localhost」と入力すると、「/Library(リソースライブラリ)/WebServer/Documents/」の下にある「It works!」という内容のページが表示されます。は、Apache のデフォルトのルート ディレクトリです。

注: Apache を有効にするということは、「Web 共有」を有効にすることを意味します。この時点で、インターネット ユーザーは「http://[ローカル IP]/」を通じて「/Library (リソース ライブラリ)/WebServer/Documents/」ディレクトリにアクセスします。 「http://[ローカル IP]/~[ユーザー名]」で「/Users/[ユーザー名]/Sites/」ディレクトリにアクセスします。 Mac OS X 10.8 で「Web 共有」をキャンセルすると、「/Users/[ユーザー名]/Sites/」ディレクトリも削除されるため、「http:// [ローカル IP]/~[ユーザー名]」にアクセスしてください。 ]」を選択すると「403 Forbidden」と表示されますが、http://[ローカルIP]/にはアクセスできます。 「システム環境設定」 -> 「セキュリティ」 -> 「ファイアウォール」に移動し、ファイアウォールをオンにして、「ファイアウォール オプション」接続で「すべての受信接続をブロックする」にチェックを入れます。 httpd.conf を設定して、localhost と 127.0.0.1 のみが「/Library (リソース ライブラリ)/WebServer/Documents/」にアクセスできるようにすることもできます。

リーリー

PHPを実行する

  1. sudo vi /etc/apache2/httpd.conf”,打开Apache的配置文件。(如果不习惯操作终端和vi,可以设置在Finder中显示所有系统隐藏文件,记得设置完毕后需要重启Finder,然后就可以找到对应文件,随心所欲编辑了,需要注意的是某些文件的修改还是需要开启root帐号,但整体上还是在终端上使用sudo一時的にroot権限を取得した方が安全です。)」を実行します。)
  2. #LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#号去掉,保存(在命令行输入:w)并退出vi(在命令行输入:q)」を見つけてください。
  3. sudo cp /etc/php.ini.default /etc/php.ini”,这样就可以运行<code>sudo vi /etc/php.ini</code>」を実行して php.ini を編集し、さまざまな機能を設定します。例: リーリー
  4. sudo apachectl restart」を実行し、Apacheを再起動するとPHPが使用できるようになります。
  5. sudo cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php」を実行します。つまり、Apache のルート ディレクトリにあるindex.html.en ファイルをコピーし、名前を info.php に変更します。
  6. ターミナルで「sudo vi /Library/WebServer/Document/info.php”,这样就可以在vi中编辑info.php文件了。在“It’s works!”后面加上“<?php phpinfo(); ?>」を実行して保存します。このようにして、http://localhost/info.php で PHP に関する情報を確認できます。たとえば、10.8 の組み込み PHP バージョン番号は 5.3.13 です。

MySQLをインストールする

Mac OS X には MySQL が組み込まれていないため、手動でインストールする必要があります。現在、MySQL の最も安定したバージョンは 5.5 です。 MySQL は Mac OS X のインストール手順を提供します。

  1. 下载MySQL 5.5。选择合适版本,如这里选择了mysql-5.5.27-osx10.6-x86_64.dmg。
  2. 运行dmg,会发现里面有4个文件。首先点击安装mysql-5.5.27-osx10.6-x86_64.pkg,这是MySQL主安装包。一般情况下,安装文件会自动把MySQL安装到/usr/local下的同名文件夹下。如运行“mysql-5.5.27-osx10.6-x86_64.dmg”会把MySQL安装到“/usr/local/mysql-5.5.27-osx10.6-x86_64”中,一路默认安装完毕。(注意,从10.8开始Mac OS X的权限更加严格,直接点击会提示“mysql-5.5.27-osx10.6-x86_64.pkg can’t be opened because it is from an unidentified developer. Your security preferences allow installation of only apps from the Mac App Store and identified developers.”阻止了安装,你可以使用双指单击该安装文件,在弹出菜单中选择“用…打开(open with)”,再选择“安装(Installer)”就可以接着安装了。)
  3. 安装第2个文件MySQLStartupItem.pkg,MySQL就会自动在开机时启动了。(注意,10.8的安装方法同上。)
  4. 安装第3个文件MySQL.prefPane,就会在“系统设置偏好”中看到“MySQL”的ICON,通过它就可以控制MySQL是否开启,以及开机时是否自动运行。到这里MySQL就基本安装完毕了。(注意,10.8中用双指单击该安装文件,在弹出的菜单中选择“用…打开(open with)”,然后选择“系统偏好(System Perference)”就可以接着安装了。)
  5. 通过运行“sudo vi /etc/bashrc”,在bash配置文件中加入mysqlstartmysqlmysqladmin的别名(注意:修改完毕之后需要退出“终端(Terminal)”之后重新进入,这些命令才会生效):
    <code>#mysql
    alias mysqlstart='sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart'
    alias mysql='/usr/local/mysql/bin/mysql'
    alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
    </code>
    ログイン後にコピー

    这样就可以在终端中比较简单地通过命令进行相应的操作。由于开始安装MySQLStartupItem.pkg到“/Library/StartupItems/MySQLCOM/”来控制MySQL的运行、自动运行、停止、关闭之类。在MySQL没有启动时,直接运行mysqlmysqladmin命令会提示“Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”,所以我们可以通过控制面板或者直接运行mysqlstart命令来启动MySQL,之后再运行mysqlmysqladmin命令就正常了。比如安装完毕后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。更多相关内容可以参考B.5.4.1. How to Reset the Root Password。

注意:Mac OS X的升级或其他原因可能会导致MySQL启动或开机自动运行时,在MySQL操作面板上会提示“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' ”,这应该是某种情况下导致/usr/local/mysql/data的宿主发生了改变,只需要运行“sudo chown -R mysql /usr/local/mysql/data”即可。

另外,使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时php默认去找/var/mysql/mysql.sock了,但MAC版的MYSQL改动了文件位置,放在/tmp下了。处理办法是按如下修改php.ini:

<code>mysql.default_socket = /tmp/mysql.sock</code>
ログイン後にコピー

使用phpMyAdmin

phpMyAdmin是用PHP开发的管理MySQL的程序,非常的流行和实用。能够使用phpMyAdmin管理MySQL是检验前面几步效果的非常有效方式。

  1. 下载phpMyAdmin。选择合适的版本,比如这里选择phpMyAdmin-3.5.22-all-languages.tar.bz2这个版本。
  2. 把“下载(downloads)”中phpMyAdmin-3.5.22-all-languages.tar.bz2文件解压到“/Library/WebServer/Documents/”中,并改名为phpmyadmin。
    <code>sudo tar -xf ~/Downloads/phpMyAdmin-3.5.2.2-all-languages.tar.bz2 -C
                 /Library/WebServer/Documents/
    sudo mv /Library/WebServer/Documents/phpMyAdmin-3.5.2.2-all-languages
                /Library/WebServer/Documents/phpmyadmin
    </code>
    
    ログイン後にコピー
  3. 复制“/Library/WebServer/Documents/phpmyadmin/”中的config.sample.inc.php,并命名为config.inc.php
  4. 编辑config.inc.php,修改如下:
    <code><span>用于Cookie加密,随意的长字符串</span>
    $cfg['blowfish_secret'] = 'a8b7c6d';
    
    <span>当phpMyAdmin中出现“#2002 无法登录 MySQL 服务器(#2002 Cannot log in to the MySQL server)”时,
    请把localhost改成127.0.0.1就ok了,
    这是因为MySQL守护程序做了IP绑定(bind-address =127.0.0.1)造成的</span>
    $cfg['Servers'][$i]['host'] = 'localhost';
    
    <span>把false改成true,这样就可以访问无密码的MySQL了,
    即使MySQL设置了密码也可以这样设置,然后登录phpMyAdmin时输入密码</span>
    $cfg['Servers'][$i]['AllowNoPassword'] = false;
    </code>
    ログイン後にコピー
  5. 这样就可以通过http://localhost/phpmyadmin访问phpMyAdmin了。此时会看到一个提示“无法加载 mcrypt 扩展,请检查您的 PHP 配置。(The mcrypt extension is missing. Please check your PHP configuration.)”,这会涉及到下一节安装MCrypt扩展了。

配置PHP的MCrypt扩展

MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展库。但在Mac OS X下的安装却不那么友善,具体如下:

  1. 下载libmcrypt-2.5.8.tar.gz。
  2. 在终端执行如下命令(注意如下命令需要安装Xcode支持,可直接去Mac App Store下载,安装完毕后可能会发现在终端运行./configure --disable-posix-threads --enable-static会报错,运行make会提示命令不存在,此时还需要打开Xcode,然后在Xcode的软件“配置(Preference…)”)-> “下载(Downloads)” 中安装 “命令行工具(Command Line Tools)”:
    <code>cd ~/Downloads
    tar -zxvf libmcrypt-2.5.8.tar.bz2
    cd libmcrypt-2.5.8
    ./configure --disable-posix-threads --enable-static
    make
    sudo make install</code>
    ログイン後にコピー
  3. 下载PHP源码文件php-5.3.13.tar.bz2,记得选择中国镜像会比较快。Mac OS X 10.6.3中预装的PHP版本是5.3.1,10.8的版本是5.3.13,而现在最新的PHP版本是5.4.6,所以需要依据自己的实际情况选择对应的版本,本文以10.8的PHP版本为例。
  4. 在终端执行如下命令,把php-5.3.13.tar.bz2,并配置autoconf(在新的Mac OS X的Xcode中需要自己配置),然后才能运行phpize命令:
    <code>cd ~/Downloads
    tar -zxvf php-5.3.13.tar.bz2
    
    cd php-5.3.13/ext/mcrypt
    curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
    tar -zxvf autoconf-latest.tar.gz
    cd autoconf-2.69
    ./configure
    make
    sudo make install
    
    cd ..
    phpize
    ./configure
    make
    sudo make install
    </code>
    ログイン後にコピー
  5. 打开php.ini
    <code>sudo vi /etc/php.ini</code>
    ログイン後にコピー

    在php.ini中加入如下代码,并保存后退出,然后重启Apache

    <code>extension=mcrypt.so</code>
    ログイン後にコピー

当你再访问http://localhost/phpmyadmin时,会发现“无法加载 mcrypt 扩展,请检查您的 PHP 配置。”提示没有了,这就表示MCrypt扩展库安装成功了。如果还不能加载,尝试把php.ini中的加入的extension修改为:

<code>extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so</code>
ログイン後にコピー

Mac OS X下安装MCrypt扩展的确比较复杂,而且稍微不小心会有各种小问题出现,大家还可以参考How to Install mcrypt for php on Mac OSX Lion 10.8 & 10.7 Development Server和Adding MCRYPT to your OSX Lion PHP install

设置虚拟主机

  1. 在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件
  2. 在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“”,保存并退出。
  3. 运行“sudo apachectl restart”,重启Apache后就开启了虚拟主机配置功能。
  4. 运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
    <code><virtualhost>
        ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot "/usr/docs/dummy-host.example.com"
        ServerName dummy-host.example.com
        ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
        CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
    </virtualhost>
    
    <virtualhost>
        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
    </virtualhost> </code>
    ログイン後にコピー

    而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:

    <code>Forbidden
    You don't have permission to access /index.php on this server</code>
    ログイン後にコピー

    最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。

  5. 增加如下配置
    <code><virtualhost>
        DocumentRoot "/Library/WebServer/Documents"
        ServerName localhost
        ErrorLog "/private/var/log/apache2/localhost-error_log"
        CustomLog "/private/var/log/apache2/localhost-access_log" common
    </virtualhost> 
    
    <virtualhost>
        DocumentRoot "/Users/[用户名]/Sites"
        ServerName sites
        ErrorLog "/private/var/log/apache2/sites-error_log"
        CustomLog "/private/var/log/apache2/sites-access_log" common
        <directory></directory>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order deny,allow
                    Allow from all
          
    </virtualhost> </code>
    ログイン後にコピー

    保存退出,并重启Apache。

  6. 运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 sites",这样就可以配置完成sites虚拟主机了,可以访问“http://sites”了,在10.8之前Mac OS X版本其内容和“http://localhost/~[用户名]”完全一致。
  7. 注意,记录log的“ErrorLog "/private/var/log/apache2/sites-error_log"”也可以删掉,但记录日志其实是一个好习惯,在出现问题时可以帮助我们判断。如果保留这些log代码,一定log文件路径都是存在的,如果随便修改一个不存在的,会导致Apache无法服务而没有错误提示,这个比较恶心。

这里利用Mac OS X 10.6.3和10.8.1中原生支持的方式来实现的配置,也可以参考“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一) ”和“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(二) ”。实际上,还可以使用XAMPP或MacPorts这种第三方提供的集成方案来实现简单的安装和使用。

您或许有兴趣:

  • MySQL&phpMyAdmin安装于Win下
  • 启用Mod Rewrite和.htaccess
  • 从MySQL4.0向MySQL5迁移数据
  • 利用phpMyAdmin把wordpress数据从MySQL4迁移到MySQL5
  • 安装Apache+PHP在Windows+IIS下
  • 升级到Wordpress2.3小结
  • Ajax的小贴士
  • SSI
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHP:データベースとサーバー側のロジックの処理 PHP:データベースとサーバー側のロジックの処理 Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

HTML:それはプログラミング言語か何か他のものですか? HTML:それはプログラミング言語か何か他のものですか? Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

PHP:インタラクティブなWebコンテンツを簡単に作成します PHP:インタラクティブなWebコンテンツを簡単に作成します Apr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーション アクション中のPHP:実際の例とアプリケーション Apr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

See all articles