Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I just installed PHP 5.4.19 on my os X 10.6.8 Mac using homebrew. I was previously using PHP 5.3.26 probably installed with MacPorts.

If I type php -v in terminal, I get PHP 5.4.19. If I load a phpinfo() file through my localhost I get PHP 5.3.26. How do instruct Apache to load my new installation of PHP?

If I run php --ini, I get:

Configuration File (php.ini) Path: /usr/local/etc/php/5.4
Loaded Configuration File:         /usr/local/etc/php/5.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini

My /etc/apache2/httpd.conf file has this setting:

LoadModule php5_module        libexec/apache2/libphp5.so
#LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so

I have tried changing the LoadModule in my httpd.conf file to:

/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so,

but I get an error which reads:

httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so, 10): Library not loaded: /usr/local/opt/curl/lib/libcurl.4.dylib\n Referenced from: /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so\n Reason: Incompatible library version: libphp5.so requires version 8.0.0 or later, but libcurl.4.dylib provides version 6.0.0

Any suggestions?

share|improve this question
add comment

3 Answers

up vote 0 down vote accepted

First open your Apache2 config file in terminal:

sudo nano /private/etc/apache2/httpd-conf

End hit ctrl + w to search libphp5.so. After found its line, put # beginnig of the line to make it disable. So, here is the last view:

#LoadModule php5_module libexec/apache2/libphp5.so

After restart your apache by running sudo apachectl graceful, localhost will recognize PHP 5.4 as default version.

share|improve this answer
    
your solution actually worked in a round-about way! I commented out "#LoadModule php5_module libexec/apache2/libphp5.so" then restarted. This turned off php - (if I loaded a php file in my browser, it just printed out as code). I then went back to my httpd.conf file and uncommented the full path to the homebrew libphp5.so file (as I tried before in the above question) and restarted. This time, it worked! I'm not sure why! –  docMojoman Oct 2 '13 at 19:58
add comment

My PHP version running in terminal was 5.3 and localhost shows 5.4. But after I tried the failed way from the first post, I was able to sync the php version on both environments.

Just simply reload the php5_module

LoadModule php5_module /usr/local/Cellar/php53/5.3.28/libexec/apache2/libphp5.so
share|improve this answer
add comment

I am not sure how well brew and ports play together, but perhaps you should be using brew install of both apache2 and PHP.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.