在Mac上构建本地服务器环境(apache+php+mysql+phpmyadmin)

在OS X ElCapitan上的故事。

启动Apache

在终端上

sudo apachectl restart

如果在 http://localhost/ 上能够正常运行,那就可以了。

默认情况下,DocumentRoot为/Library/WebServer/Documents/。

open /Library/WebServer/Documents/

在诸如Finder之类的应用中可以确认。
但是由于权限问题,直接修改文件是比较困难的。

可以透過調整virtualhost設定等來進行調整。

需要取消注释 /etc/apache2/httpd.conf 文件中的 `Include /private/etc/apache2/extra/httpd-vhosts.conf`

如果你要修改Hosts文件的話,可以參考這個網址:http://qiita.com/kitanoow/items/35c1ebffd721f83ac7a0。

PHP加载

请取消对/etc/apache2/httpd.conf 中的以下代码的注释:
#LoadModule php5_module libexec/apache2/libphp5.so
然后重新启动apache。

可以通过执行 php -version 命令来检查版本。(目前可以确认的是 PHP 版本为 5.5.30)

如果没有的话,执行Homebrew的安装。

安装可以通过以下链接获取相关命令:http://brew.sh/index_ja.html,请执行该命令。

安装并启动MySQL。

brew update
brew install mysql

遵循安装时的注释,在mysql.server start来启动。

MySQL启动成功!

所以,启动正常。

其余的包括用户添加和设置等事项。

我的.cnf文件的位置可能是:
/usr/local/Cellar/mysql/5.7.11/mysql-test/std_data/mylogin-bad-cipher.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/federated/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_big/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_binlog/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_ddl/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_memcache/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_rpl/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndb_team/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/ndbcluster/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/rpl/extension/bhs/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/rpl/my.cnf
/usr/local/Cellar/mysql/5.7.11/mysql-test/suite/rpl_ndb/my.cnf
/usr/local/Cellar/mysql/5.7.11/support-files/my-default.cnf
※根据使用的版本可能会有所不同。

为了方便编辑,可适当复制到 /usr/local/etc/my.cnf 周围。

phpmyadmin 資料庫管理系統

由于phpmyadmin一点也不顺利,所以放弃了。

brew tap homebrew/php/
brew install mhash

随后,

brew install phpmyadmin

在vhosts文件中,

Alias /phpmyadmin /usr/local/share/phpmyadmin
<directory /usr/local/share/phpmyadmin/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    <ifmodule mod_authz_core.c>
        Require all granted
    </ifmodule>
    <ifmodule !mod_authz_core.c>
        Order allow,deny
        Allow from all
    </ifmodule>
</directory>

包括等等的描述。

如果在连接时出现像”本地服务器的socket配置不正确”等问题导致程序崩溃,可能需要在php.ini中配置/tmp/mysql.sock。

感谢词 参考链接:
http://starzero.hatenablog.com/entry/2012/11/10/103047
http://qiita.com/hkusu/items/cda3e8461e7a46ecf25d
https://gist.github.com/gaspanik/3806983
https://soarcode.jp/posts/55

广告
将在 10 秒后关闭
bannerAds