Php For Mac
Hi, I am currently making php code for user who wanted to know their IP and Mac address with just a click away, how do I get local IP address and Mac Address to be shown in PHP, Thank you, Tommy. About Firefox for Mac Mozilla Firefox is a graphical web browser developed by the Mozilla Corporation and a large community of external contributors. Firefox started as a fork of the Navigator browser component of the Mozilla Application Suite. I recently upgraded to Mac OS X Yosemite. It seems Mac OS X Yosemite makes my original post on installing Apache, PHP, and MySQL on Mac OS X obsolete. Specifically, Yosemite includes Apache 2.4. This post is a complete update for installing Apache, PHP, and MySQL on Mac OS X Yosemite. A reminder that Mac OS X runs atop UNIX. To save our readers from the time consuming (and often confusing) task of choosing the right text editor for their use, we’ve picked out the 10 best text editors for Mac that are actually worthy of attention in 2019. Note that while all the Mac text editors mentioned on this list are great, you should choose the one that fits your needs.
Table of Contents
This section contains notes and hints specific to installing PHP on macOS. PHP is bundled with Macs, and compiling is similar to the Unix installation guide.
chris at spookee dot de ¶There is a 'One Line Installation' tool to use PHP 5.6/5.5/5.4/5.3 for
OS X 10.6/10.7/10.8/10.9/10.10 with the build-in Apache with lots of extensions included:
http://php-osx.liip.ch
I hope posting this link is allowed, because it helped me a lot to get the latest PHP-Version running..
Included extensions:
bcmath bz2 calendar Core ctype curl date dom dtrace ereg exif fileinfo filter ftp gd gettext hash iconv imap intl json ldap libxml mbstring mcrypt memcache memcached mhash mongo mssql mysql mysqli mysqlnd OAuth odbc openssl pcntl pcre PDO pdo_dblib pdo_mysql pdo_pgsql pdo_sqlite pgsql Phar posix Reflection session shmop SimpleXML soap sockets solr SPL SQLite sqlite3 standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xdebug xhprof xml xmlreader xmlrpc xmlwriter xsl zip zlib Xdebug
available but disabled by default: apc, xslcache, twig, uploadprogress
I found good gist how to install PHP 5.4 and 5.3 side by side on Max OSX via MacPorts. I suppose, it is applicable for PHP 5.5 too.
https://gist.github.com/raphaelstolt/2721719
For those using Homebrew, Justin Hileman maintains a blog post entitled '(Re)installing PHP on Mac OS X', which documents how to build PHP and extensions: http://justinhileman.info/article/reinstalling-php-on-mac-os-x/
Just a note. The darwinports software is now macports and you can get it at: http://www.macports.org/
If you use macports, be sure to change any refernces you may have in your calling scripts to macports as the file macports now gets installed.
My httpd.conf had some of the lines, but not all of them -- mine was missing the LoadModule and AddModule lines for php. I'm not sure why -- I don't delete any of those; I just comment them out if I'm not using them. Plus, the note above put a space in 'LoadModule'; it has no space. I didn't know about the 'apachectl graceful' trick, though -- since 'httpd -k restart' stopped working (probably around 10.2), I had just been doing it manually -- find the process, kill it, and hit httpd again -- thanks for the tip!
So for those who are missing any of the lines, here are the full lines.
In the section with all the other LoadModules:
LoadModule php4_module libexec/httpd/libphp4.so</div>
Directly below that section should be the AddModules; you need:
AddModule mod_php4.c
And then the AddType lines should be right after the language priorities (so after the AddCharset lines and after the LanguagePriority bit):
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Then restart apache/httpd as described above, and hopefully you should be good.
BTW, the actual module should be at:
/usr/libexec/httpd/libphp4.so
So if things fail, you can check to see if that's there.
Thanks to others who posted here; it definitely helped and got me on the right track. I just had to find the module manually to write my own LoadModule line.
To build on MacOS X 10.3.5 set the environment variable CFLAGS in the following way (depending on your shell)
setenv CFLAGS '-DBIND_8_COMPAT=1 -DEAPI -O3'
export CFLAGS='-DBIND_8_COMPAT=1 -DEAPI -O3'
Then launch configure with the options:
./configure --prefix=/usr --mandir=/usr/share/man ..
The -DBIND_8_COMPAT=1 gets you over a problem in the DNS files because MacOS X has definitions for Bind9 and PHP expects Bind8 definitions. -DEAPI is needed if you build it for Apache 1.3.31. -O3 enables the gcc optimizer.
You can also add one of the following lines to your CFLAGS depending on the CPU you use to further improve speed:
-mcpu=G3 -mtune=G3
-mcpu=G4 -mtune=G4
-mcpu=G5 -mtune=G5
- Installation and Configuration
macOS Update: While these instructions still work, there are new posts for recent versions of macOS, the latest being Install Apache, PHP, and MySQL on macOS Mojave.
I have installed Apache, PHP, and MySQL on Mac OS X since Leopard. Each time doing so by hand. Each version of Mac OS X having some minor difference. This post serves as much for my own record as to outline how to install Apache, MySQL, and PHP for a local development environment on Mac OS X Mountain Lion Mavericks.
I am aware of the several packages available, notably MAMP. These packages help get you started quickly. But they forego the learning experience and, as most developers report, eventually break. Personally, the choice to do it myself has proven invaluable.
It is important to remember Mac OS X runs atop UNIX. So all of these technologies install easily on Mac OS X. Furthermore, Apache and PHP are included by default. In the end, you only install MySQL then simply turn everything on.
First, open Terminal and switch to root
to avoid permission issues while running these commands.
Enable Apache on Mac OS X
Note: Prior to Mountain Lion this was an option for Web Sharing in System Prefrences → Sharing.
Verify It works! by accessing http://localhost
Enable PHP for Apache
OS X Mavericks Update: You will need to rerun the steps in this section after upgrading an existing install to Mac OS X Mavericks.
First, make a backup of the default Apache configuration. This is good practice and serves as a comparison against future versions of Mac OS X.
Now edit the Apache configuration. Feel free to use TextEdit if you are not familiar with vi.
Uncomment the following line (remove #
):
Restart Apache:
Install MySQL
- Download the MySQL DMG for Mac OS X
- Install MySQL
- Install Preference Pane
- Open System Preferences → MySQL
- Ensure the MySQL Server is running
- Optionally, you can enable MySQL to start automatically. I do.
The README also suggests creating aliases for mysql
and mysqladmin
. However there are other commands that are helpful such as mysqldump
. Instead, I updated my path to include /usr/local/mysql/bin
.
Note: You will need to open a new Terminal window or run the command above for your path to update.
I also run mysql_secure_installation
. While this isn't necessary, it's good practice.
Connect PHP and MySQL
You need to ensure PHP and MySQL can communicate with one another. There are several options to do so. I do the following:
Creating VirtualHosts
You could stop here. PHP, MySQL, and Apache are all running. However, all of your sites would have URLs like http://localhost/somesite/ pointing to /Library/WebServer/Documents/somesite. Not ideal for a local development environment.
OS X Mavericks Update: You will need to rerun the steps below to uncomment the vhostInclude
after upgrading an existing install to Mac OS X Mavericks.
To run sites individually you need to enable VirtualHosts. To do so, we'll edit the Apache Configuration again.
Uncomment the following line:
Now Apache will load httpd-vhosts.conf. Let's edit this file.
Here is an example of VirtualHosts I've created.
The first VirtualHost
points to /Library/WebServer/Documents
. The first VirtualHost
is important as it behaves like the default Apache configuration and used when no others match.
The second VirtualHost
points to my dev workspace and I can access it directly from http://jason.local. For ease of development, I also configured some custom logs.
Note: I use the extension local. This avoids conflicts with any real extensions and serves as a reminder I'm in my local environment.
Restart Apache:
In order to access http://jason.local, you need to edit your hosts file.
Add the following line to the bottom:
I run the following to clear the local DNS cache:
Now you can access http://jason.local.
Php For Mac Osx
Note: You will need to create a new VirtualHost
and edit your hosts file each time you make a new local site.
Php Mysql For Mac
A note about permissions
You may receive 403 Forbidden when you visit your local site. This is likely a permissions issue. Simply put, the Apache user (_www
) needs to have access to read, and sometimes write, your web directory.
If you are not familiar with permissions, read more. For now though, the easiest thing to do is ensure your web directory has permissions of 755
. You can change permissions with the command:
In my case, all my files were under my local ~/Documents
directory. Which by default is only readable by me. So I had to change permissions for my web directory all the way up to ~/Documents
to resolve the 403 Forbidden issue.
Note: There are many ways to solve permission issues. I have provided this as the easiest solution, not the best.
Install PHPMyAdmin
Unless you want to administer MySQL from the command line, I recommend installing PHPMyAdmin. I won't go into the details. Read the installation guide for more information. I install utility applications in the default directory. That way I can access them under, in this case, http://localhost/phpmyadmin.
Closing
A local development environment is a mandatory part of the Software Development Process. Given the ease at which you can install Apache, PHP, and MySQL on Mac OS X there really is no excuse.
Find this interesting? Let's continue the conversation on Twitter.