在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