PHP5, Apache2, Leopard

Ryan Schmidt ryandesign at macports.org
Tue Dec 4 18:16:41 PST 2007


On Dec 4, 2007, at 12:28, Chris Janton wrote:

> I have a newly-Leopardized PowerPC running Leopard (10.5.1)
> Fresh install of MacPorts
> Fresh install of XCode 3
>
> I do this
>
> sudo port selfupdate
> port version
> Version: 1.520
>
> On my other systems (PPC 10.3.9, Intel 10.4.11) I used this command  
> to install PHP5
>
> 	sudo port install php5 +apache +macosx +mysql5 +pear
>
> On Leopard I would prefer to use the Apple installed Apache2, so I  
> assume that this command would be appropriate
>
> 	sudo port install php5 +apache2 +macosx +mysql5 +pear
>
> What I get is this (which is different than yesterday)
>
> --->  Building apache2 with target all
> Error: Target org.macports.build returned: shell command " cd "/opt/ 
> local/var/macports/build/ 
> _opt_local_var_macports_sources_rsync.macports.org_release_ports_www_a 
> pache2/work/httpd-2.2.6" && make all " returned error 2
> Command output: ab.c: In function 'start_connect':
> ab.c:1150: warning: passing argument 2 of 'BIO_set_callback_arg'  
> from incompatible pointer type
>
> So, does anyone have a handy list of hints for making PHP5 work  
> with the Apple-provided Apache2?
> I got mysql5 installed and working just fine.

I'm the maintainer of php5 (along with Jyrki). I had intended to  
bring this topic up with the list before--as soon as I noticed that  
Leopard includes Apache 2, not Apache 1--but I forgot. Thanks for  
reminding me.

In php5, +apache uses Apple's Apache 1.3 (when running on Mac OS X  
10.4 or earlier, and probably explodes on 10.5 and later), or uses  
MacPorts's Apache 1.3 (when not running on Mac OS X). +apache2 uses  
MacPorts's Apache 2.2. There is no way, with the current set of  
variants, to use the Apple Apache 2 in Leopard, nor the MacPorts  
Apache 1.3 when running on Mac OS X. This is all very confusing and  
has to stop.

MacPorts philosophy is to use MacPorts libraries only, unless there's  
a very good reason. This is explained in the FAQ:

http://trac.macports.org/projects/macports/wiki/ 
FAQ#WhyisMacPortsusingitsownlibraries

In the case of php5, the "very good reason" was that Apple's Apache  
1.3 was perfectly fine and it was convenient to be able to continue  
to use System Preferences to deal with the web server.

Leopard's inclusion of Apache 2 changes all that for me. I no longer  
wish to support using Apple's Apache at all. I don't care what  
version it is. I want +apache to use MacPorts's Apache 1.3, and  
+apache2 to use MacPorts's Apache 2.2. This will make things much  
simpler in the portfile, much simpler for users to understand, and  
will be consistent with established guidelines.

If there are any objections, now is the time to voice them. Otherwise  
I'll make these modifications soon.



None of the above unfortunately helps your problem, which I cannot  
understand. Apparently you cannot build apache2 on Leopard. You  
should take that up with the maintainer of the apache2 port. Though I  
know it should build on Leopard, because I saw someone do it.



More information about the macports-users mailing list