10.5: Install tips for PHP's pecl_http on 64-bit Intel Macs
Nov 21, '08 07:30:01AM • Contributed by: Anonymous
Nov 21, '08 07:30:01AM • Contributed by: Anonymous
Here are some tips for getting the PHP pecl_http extension running on a Macintosh OS X 10.5.x Leopard 64-bit Intel machine. For starters, you need to follow the instructions in the PHP Documentation pages to install the PEAR/PECL manager, because it is no longer in the standard OS X setup:
Here's the file to change:
That's it, and good luck!
- To compile the extension, you have to install the Developers (Xcode) from your system disks because they are not installed by default. This is a simple step.
- It's not made clear that you need to install an older version of pecl_http than the latest stable version (1.6.1 as of this writing), because 1.6.1 needs PHP6. I used version 1.5.6 successfully. So, your Terminal command has to be sudo pecl install pecl_http-1.5.6.
- There is apparently a libcurl dependency in the case of pecl_http (although no dependencies are listed at the extension site), but it came with the excellent entropy.ch PHP installation I substituted for the bundled PHP installation. I needed the entropy.ch version because it has the PDO_MYSQL extension and driver I need for the Zend Framework.
Note that using the entropy.ch substitute can confuse the PECL install manager (it may place the compiled extension in the wrong place for the substitute) -- it's easy enough to move (mv) it after it's successfully compiled. - Once compiled and located properly, you may need to chmod the rights for the extension. I had to to make it comparable to the others in the extensions directory -- not sure this was strictly necessary, but I thought it would help to have them similarly owned and permitted.
- As is made clear elsewhere, you need to add the following to your php.ini where all other extensions to load are listed: extension=http.so. I did not comment out the extension_dir="./" line as some suggest, and I had no problems.
- Last and perhaps most important, I had to change the underlying Apache startup plist file so that it comes up in 32-bit mode -- it never worked under the standard 64-bit mode.
Here's the file to change:
/System/Library/LaunchDaemons/org.apache.httpd.plist
I have no idea if this is a so-called "bug," or just something I should have recognized on my own. Anyway, here's a link to what the substituted contents should be (found about two-thirds of the way down the page), and here are the needed substitute file contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.apache.httpd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>arch</string>
<string>-arch</string>
<string>i386</string>
<string>/usr/sbin/httpd</string>
<string>-D</string>
<string>FOREGROUND</string>
</array>
<key>SHAuthorizationRight</key>
<string>system.preferences</string>
</dict>
</plist>
•
[13,249 views]
