布莱恩F爱
向一位来自Portlandyobet英雄联盟的谷歌开发专家学习Angular、Web技术和Node.js。
广告 ·ultimatecourses.com
用终极课程学习Angular的正确方法

OS X小牛和Apache

Web开发与Apache + PHP在OS X小牛

在OS X Mavericks上设置web开发环境与在Mountain Lion或苹果OS的其他以前版本上设置非常相似。如果您已经设置了您的环境,并升级到OS X 10.9 (Mavericks),那么您将注意到您的httpd . conf配置已被替换。但是,别担心。您可以找到您的旧配置位于:/私人/ etc /输入/ httpd.conf.pre-update。让我们开始吧!

Apache

OS X已经安装了Apache,所以它就像启动服务器一样简单。在以前,您可以使用系统设置>共享盘但是在10.9的时候就被删除了。要启动服务器,首先启动终端应用程序通过公用事业公司>终端然后输入下面的命令。你可以阅读完整的文档apachectl命令

启动Apache:

美元sudoapachectl开始

停止Apache:

美元sudoapachectl停止

重新启动Apache:

美元sudoapachectl restart

另一个有用的命令是验证你的httpd . conf通过-t测试开关进行配置。

美元sudoapachectl - t

一旦你启动了Apache服务器,打开你最喜欢的浏览器:http://localhost你应该看到下面的屏幕。

显示'it works'的本地主机消息

自定义Apache

在使初始本地主机运行后,您可能需要进行一些更改。我建议:

  • 创建一个/www目录
  • 把你所有的网站放在这个目录中
  • 为您正在处理的每个web站点添加虚拟主机
  • 向您的hosts文件添加一个条目,以将本地域名指向您的本地Apache服务器

首先,让我们创建/www目录:

美元cd美元/mkdirwww

其次,让我们创建本地web站点local.example.com(更换为你自己的网站):

美元mkdirlocal.example.com

打开httpd . conf文件位于/私人/ etc / acpache2。我使用TextMate,所以我将使用“mate”命令。

美元的伴侣/私人/ etc /输入/ httpd . conf

对。进行以下更改httdp.conf文件。

  • 在第170行,更改DocumentRoot:DocumentRoot“/ www”
  • 在第197行,更改目录位置:<目录“/ www”>
  • 在第217行(在我们刚刚更新的目录位置内),将AllowOverride值更改为“All”,以便我们可以使用. htaccess为我们的本地网站修改任何设置:AllowOverride所有
  • 在第429行,取消属性的Include注释httpd-vhosts.conf文件:包括私人/ etc /输入/多/ httpd-vhosts.conf

我们还将添加新的虚拟主机到httpd-vhosts.conf文件位于/私人/ etc /输入/多/ httpd-vhosts.conf。如果您打开这个文件,您将注意到已经有一些dummy-host.example.com条目。您可以根据您的web站点的需要修改这些内容。我的虚拟主机条目是这样的:

<虚拟主机*:80>DocumentRoot“/ www / local.example.com”ServerNamelocal.example.comErrorLog“私人/ var / log / /输入/ local.example.com-error_log”CustomLog“私人/ var / log / /输入/ local.example.com-access_log”常见的虚拟主机>

我们需要做的最后一件事是修改主机文件,以便我们键入时local.example.com在我们的浏览器中,我们使用本地Apache web服务器,而不是试图在Internet上寻找这个虚构的域。让我们在TextMate中打开主机文件进行编辑。

美元/私人/ etc /主机交配

为您的网站添加一个新条目:

127.0.0.1local.example.com

PHP

PHP已经为您安装在OS X 10.9 Mavericks中。只需修改httpd . conf文件了。

  • 在第118行,取消PHP LoadModule的注释:LoadModule php5_module libexec /输入/ libphp5.so
  • 在第231行,如果一个目录被请求,添加index.php作为默认文件:DirectoryIndex index . html index . php

最后,我们需要告诉Apache在请求以. PHP或.phps结尾的文件时使用PHP处理程序。将以下代码附加到httpd.conf文件的末尾。

# PHP设置<IfModulephp5_module>AddType应用程序/ x-httpd-php。phpAddType应用程序/ x-httpd-php-source。phpIfModule>

不要忘记在对您的服务器进行任何更改之后重启Apache服务器httpd . conf文件。

MySQL

这是对原始博客文章的更新在发布这篇文章后,我遇到了一些MySQL连接的问题。

升级也会取代你的php . ini文件位于/私人/ etc / php . ini有一个新的*php.ini.default \文件位于*/私人/ etc / php.ini.default \*。为了让MySQL工作(连同错误报告),我需要更新一些设置:

  • 一行478,显示错误(这只用于开发,不用于生产环境):display_errors =对
  • 一行986,添加位置到MySQL套接字文件:pdo_mysql.default_socket = / tmp / mysql.sock

如果您遇到相同的问题,则可能需要启用pdo通过取消注释行扩展mysql_:扩展php \ _pdo \ _mysql.dll =

就是这样。网络发展中快乐!

布莱恩F爱

嗨,我是布莱恩。我对TypeScript, Angular和Node.js感兴趣。我和我最好的朋友邦妮结婚了,我住在波特兰,我经常滑雪。