5

谁能指导我或写下他们在 Snow Leopard 上安装 Apache 和 PHP 的经验?

我过去在 Leopard 上运行过这个,它会在安全更新后死掉,但很简单:

$ ./configure --enable-layout=Darwin --enable-mods-shared=all
$ make
$ sudo make install

我又开始跑了。

自雪豹更新以来,我在 make 命令上遇到以下问题

libtool: link: cannot find the library `/usr/lib/libexpat.la' or unhandled argument `/usr/lib/libexpat.la'
make[2]: *** [htpasswd] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
4

7 回答 7

2

众所周知,Snow Leopard (SL) 基于 64 位架构,当您安装 SL 附带的 Xcode 3.2 时,gcc 编译器默认为 4.2.1,似乎默认为 x86_64 而不是 i386。

感谢以下网站:

我的解决方案:

  1. 按照 hivelogic.com 上的说明在 SL 上安装 MySQL

  2. 通过http://projects.serenity.de/php/上的说明安装 Apache 2.2.14 - 它使用 2.2.13 但用 14 替换 13 很容易,对吧?;) 安装 Apache (x86_64) 后,请执行以下操作:

    cd /usr/local/apache2/bin
    cp httpd /usr/sbin/
    cp apachectl /usr/sbin/
    

    http://www.kevinkorb.com/post/24所述

  3. 编译并安装在http://projects.serenity.de/php/上的 Apache 安装说明之后提到的软件包(freetype、gettext、libjpeg、libpng、mcrypt、mhash 等),直到 IMAP,如果您需要 IMAP,请尝试说明上面的网址中提到但我没有安装,因为我不需要它。

    注意:这些都编译为 x86_64,但libpng除外,它需要将以下内容编译为 64 位:

    *export CFLAGS="-arch x86_64" ./configure

  4. 这是所有头撞在桌子上并发生反复试验的地方。PHP 5.3.0 的安装。最大的问题是 ICONV 存在链接问题。我搜索了整个谷歌,其他一些人通过编辑 iconv.c 文件和 Makefile 通过在执行 ./configure 字符串后将 -lresolv 添加到 EXTRA_LIBS= 来成功。我没那么幸运,但仍然需要对--without-iconv参数进行编辑才能正常工作。此外--with-xmlrpc也不起作用。有关 iconv hack,请参阅此博客条目

所以这是我的 ./configure 字符串:

./configure 
--prefix=/usr/local/php5
--without-iconv
--with-apxs2=/usr/local/apache2/bin/apxs
--enable-pdo
--with-gd 
--with-zlib 
--with-jpeg-dir=/usr/local 
--with-png-dir=/usr/local 
--with-libxml-dir=/usr/local 
--with-curl 
--with-mcrypt 
--with-pdo-mysql=/usr/local/mysql 
--with-mysqli=/usr/local/mysql/bin/mysql_config 
--with-mysql=/usr/local/mysql 
--with-mhash 
--with-libxml-dir=/usr/local 
--with-t1lib=/usr/local 
--with-xsl 
--with-freetype-dir=/usr/local 
--with-gettext 
--with-bz2=/usr 
--with-openssl=/usr 
--enable-bcmath 
--enable-calendar 
--enable-cgi 
--enable-exif 
--enable-ftp 
--enable-gd-native-ttf 
--enable-mbstring 
--enable-soap 
--enable-sqlite-utf8 
--enable-cli 
--enable-wddx 
--enable-zip

make
sudo make install

最后一点,我下载了 PHP-5.3.2-dev ( http://snaps.php.net/ ),它似乎解决了 ICONV 和 XMLRPC 的链接问题。我对上述 ./configure 字符串所做的唯一更改是将--without-iconv替换为--with-iconv=/usr/local并添加了--with-xmlrpc。这是一个开发版本,我确信它仍然存在错误,因此请自行决定使用。

如果您有任何问题,请随时发表评论,我会尽力提供帮助!

于 2009-10-15T17:23:38.517 回答
2

见这里: http ://bugs.php.net/bug.php?id=49267

基本上:

  1. 将“-lresolv”添加到“Makefile”中的 MH_BUNDLE_FLAGS、EXTRA_LDFLAGS 和 EXTRA_LDFLAGS_PROGRAM

  2. 更改“ext/iconv/iconv.c”

    #define iconv libiconv

    到:

    #define iconv iconv

正如他们所说,为我工作。

于 2009-11-19T16:52:54.907 回答
1

在apache源目录中

cd srclib/apr-util/xml/expat
./configure
# OR ./configure --prefix=/{{YOURDIR}}/apache/source/httpd-2.2.22/srclib/apr-util/xml/expat/
sudo make install
# OR make install

请记住在 make install 失败后清理以前的 apache 安装

cd {{YOURDIR}}/apache/
ls -la
rm -r bin
rm -r build
rm -r include
rm -r lib
于 2012-03-05T11:39:48.383 回答
0

好吧,如果您不需要自定义构建的 PHP 版本,那么 Apple 提供的可能会这样做,但事实并非如此,对于提出问题的人,或者在我寻求相同答案时的我问题。还有其他人有建议吗?

于 2009-09-01T06:37:23.690 回答
0

也许你没有安装开发者工具!

于 2009-11-05T14:26:49.543 回答
0

Liip 的人在 OS X 上为 PHP 和 Apache 维护了一个很棒的包,安装非常简单。该软件包非常适合开发。你可以在这里查看:http: //php-osx.liip.ch/

该软件包在 /usr/local/php5 中的 OS X 10.6(又名 Snow Leopard)和 OS X 10.7(又名 Lion)上安装(通常)最新的 PHP 5.3.x/5.4.x。它安装了许多有用的扩展(见下文)和 ini 设置,并且是我们在 Liip 和 Local.ch 用于开发的工具。它特别适合 Symfony 2 开发。它还提供了一个不错的 php.ini,所有设置都根据“最佳实践”配置。

You can then use the standard Apache and install MySQL (x64) with the package from the MySQL website.

于 2012-07-03T14:23:52.750 回答
-2

Mac OS X Snow Leopard 已经预装了 Apache 2.2 和 PHP 5.3。请参见:

http://www.brandonsavage.net/first-glance-apples-snow-leopard/

最好不要管它们,因为它们是为雪豹优化配置的。

于 2009-08-30T06:48:14.973 回答