I am trying to use Apache 2.4.7 with php5.5 in my Mini Mac with Mac Os 10.8.5
Apache 2.4.7 installed following instructions in here
Run apachectl -v, shows
Server version: Apache/2.4.7 (Unix)
Server built: Mar 4 2014 19:23:56
PHP5.5 installed following instructions in here
Run php -v, shows
PHP 5.5.8 (cli) (built: Jan 12 2014 18:50:29)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
I added in the apache http.conf file the following line
LoadModule php5_module /usr/local/php5/libphp5.so
But it does not seem to work, as when I try to start the server with
sudo apachectl start
It produces the following error
httpd: Syntax error on line 151 of /usr/local/apache-2.4.7/conf/httpd.conf:
Cannot load /usr/local/php5/libphp5.so into server:
dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found:
unixd_config\n
Referenced from: /usr/local/php5/libphp5.so
Expected in: /usr/local/apache-2.4.7/bin/httpd in /usr/local/php5/libphp5.so
As suggested in the tutorials I have linked, I modified my bash profile with
export PATH=~/bin:/usr/local/php5/bin:$PATH
export MANPATH=/usr/local/apache/man:$MANPATH
I have been trying for hours different solutions, and this is as far as I got.
If someone can give me some hints I would be very happy, I am quite desperate...!
After hours and hours of try this and do that, I managed to make it work.
I will describe what I did, in order to help other people save those hours!
Be aware that this solution works for the MAc OS X 10.8.5. It might not work for you!
The following is to have apache 2.4.7 with php 5.5 working
Update and download tools you need.
1.1 - XCode. Get it from Apple Store for free.
1.2 - XCode command line. Go to XCode, Preferences, Downloads, and get the command line.
1.3 - Homebrew. Use the following command:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
See the website for more info.
Several checks
2.1 - Check that there is no current apache or php instalation annoying around. To do so I deleted them and hunted down config files, just in case, with the commands
find /usr -name "apache"
find /usr -name "httpd"
find /usr -name "php
2.2 - Use brew doctor to confirm no configs are annoying the setup.
brew doctor
2.3 - Check that you did it right by confirming that following commands do not work
php -v
apachectl -v
httpd -v
Install apache
3.1 - Use the homebrew apache2 from djl.
brew tap djl/homebrew-apache2
brew install djl/apache2/apache24
3.2 - Modify your .bash_profile in order to make the /usr/local/bin the priority folder (so the system gets the apache and php from there instead other folder like /usr/sbin)
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
3.3 - Confirm that apache works. To do this, start the service and go to localhost where "It works" appears. Then shut it down to proceed with php.
sudo apachectl start
(Go to browser and open localhost)
sudo apachectl stop
Install php
4.1 Use the homebrew php from josegonzalez
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap josegonzalez/homebrew-php
brew install php55
4.2 In case it did not work because of the following error :
cannot open /usr/share/httpd/build/config_vars.mk: No such file or directory at /usr/sbin/apxs line 217.
... create a symlink this way:
cd /usr/share/
sudo ln -s /usr/local/Cellar/apache24/< apache version installed >/ httpd
... and execute the install again.
< apache version installed > will depend on the version installed. At the moment of this writing, it is 2.4.10
Tell Apache about its new friend.
5.1 Modify the httpd.conf. First open the file.
cd /usr/local/etc/apache2/
sudo nano httpd.conf
... then add the php module in the LoadModule section (search for LoadModule)
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
... and add the php type in the mime_module. Search for mime_module and, in that section, search for # Filters
... add the next line under them.
# process php type files using apache php module
AddType application/x-httpd-php .php
that tells Apache to run the file through it's php processor prior to sending it to the client.
... save and exit.
OPTIONAL, if you want to store the Sites in your User folder instead of WebService.
6.1 Modify again the httpd.conf. Open the file.
cd /usr/local/etc/apache2/
sudo nano httpd.conf
And add the following lines at the end of the file, replacing with your username.
ServerName dev.local
User <username>
Group staff
DocumentRoot "/Users/<username>/Sites"
ErrorLog "/usr/local/var/log/apache-error.log"
CustomLog "/usr/local/var/log/apache-access.log" common
<Directory "/Users/<username>/Sites">
Options All
AllowOverride All
IndexOptions NameWidth=*
Require all denied
Require host localhost
Require host 127.0.0.1
</Directory>
Finish it!
7.1 Start apache service
sudo apachectl start
7.2 Create a php file in the root of your Sites folder (If you did step 6, create it in /Users//Sites/test.php)
7.3 Open it.
Go to Browser and localhost/test.php
Good luck.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With