最佳设置OSX PHP开发环境:MAMP + Eclipse + Subclipse + XDebug?其他


Optimal setup for OSX PHP development environment: MAMP + Eclipse + Subclipse + XDebug? Other?

在使用了多年的Windows之后,我正在转向在Mac(哇,新款Macbook Air)上进行开发。我以前的PHP开发设置是:

  • WAMP
  • notepad++
  • XDebug
  • TortoiseSVN和WinMerge(链接到unuddle svn帐户)

我刚刚安装了MAMP Pro (Pro的评估副本),Eclipse for PHP Developers(版本:Helios Service Release 2, Build id: 20110218-0911)和Subclipse。在切换开发工具的同时,我也在努力克服"Mac新手"的困扰。这让我比平时更质疑我的设置。我读了很多StackOverflow的问题和答案,谷歌了很多开发环境的教程。我真正想问的是"请告诉我如何才能在我漂亮的新Mac上获得良好的开发设置!"但由于这可能不是一个很好的问题,我将尝试缩小一些范围。(但如果你厌倦了这个问题,只是想给我指一本好书或教程,没关系!)

MAMP:好的,我想我在这个问题上没问题,对吧?如果我不想自己从预装在mac上的东西中拼凑出所有东西,这几乎是事实上的标准。我可能愿意花60美元购买MAMP Pro,因为我认识的开发者告诉我,长期的便利是值得的。

IDE:我使用Eclipse好几年了…而是用于Windows环境下的Java开发。在使用了几年的PHP notepad++之后,我很高兴又回到了一个完整的IDE。但我需要PHP版的Eclipse吗?EclipsePDT吗?别的吗?我选择的版本是基于几个StackOverflow的答案,提到EclipsePDT不一定在Mac上运行得很好。

SVN:我采纳了StackOverflow hive mind的建议,为eclipse集成的SVN插件安装Sublipse。是的,看起来它正在工作,或者至少我可以浏览我的存储库。

Debugging: Zend Debug自带MAMP,对吗?我从来没有使用过它,但是我对XDebug + notepad++在我的Windows机器上只有一半的满意,因为它一直锁定并且每天需要重新启动多次notepad++。我会更爱Zend吗?我应该坚持使用XDebug吗?(或者,等等,Zend只适用于Eclipse PDT吗?)

现在是实际的设置问题。既然我已经有了现有的unuddle SVN存储库,那么设置开发环境的最佳方式是什么?将源代码放入MAMP htdocs目录,并将eclipse工作区指向那里?(由许多SO答案推荐,IIUC)反之亦然,将代码放入默认的eclipse工作区,并将MAMP指向它?一个单独的Projects/myProject1目录,同时指向MAMP和Eclipse ?我担心这些选项中的任何一个都适用于初始设置,但是我将深入工作并发现我的调试器将不适用于一种配置或另一种配置,或者……

OSX(也是客户端版本)已经包含了使用PHP开发所需的一切!哦,而且都是64位的:)(在雪豹和狮子上)

Apache 2是默认包含的,可以通过System Preferences -> Sharing(它的名字是"Web Sharing",或者类似的东西:对不起,我使用的是另一种语言的OSX !)。

PHP也是默认安装的。你只需要在/etc/apache2/httpd.conf中启用它:取消注释这一行:

LoadModule php5_module        libexec/apache2/libphp5.so

MySQL可以从二进制包中安装,下载地址:http://www.mysql.com/downloads/

php.ini文件(/etc/php.ini)中唯一需要更改的内容是:
pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

你需要手动设置MySQL的套接字位置,否则它将无法与PHP一起工作。另外,记得在date.timezone中设置一个值。

SVN和Git在安装Lion开发工具时自动安装,可以从http://developer.apple.com/mac免费下载(需要免费注册)。

如果您需要Mercurial,或者您不在Lion上(因此您没有XCode 4),请下载开发人员工具,然后下载一个名为macports的应用程序,它为数千种常见的UNIX工具提供端口:http://www.macports.org/。一旦安装了MacPorts,您就可以使用一个简单的命令来安装所需的软件包:

sudo port install subversion
sudo port install git
sudo port install mercurial

我没有用任何图形工具来处理这些SCM,所以我真的不能建议你。我更喜欢旧的、简单的命令行!

如果你想使用pecl安装自定义扩展(苹果发布的PHP默认发行版不包含mcrypt, gettextintl等扩展,仅列出三个最重要的扩展),

Developer Tools (XCode包)也是必需的。

说到编辑……我真正喜欢和喜欢的是Coda。它不是免费的,但如果您想用PHP开发,它是完美的:http://panic.com/coda/。它还集成了SVN(但我们使用Mercurial,所以我从来没有使用过这个选项!)。

对于(S)FTP,我建议您使用Cyberduck,它是免费的(开源):http://cyberduck.ch/。另一个非常好的客户端应该是Transmit,但它不是fee(它来自Panic,制作Coda的同一家公司):我从未尝试过它(我真的很满意Cyberduck!),但我听到了成千上万的好评。