Apache
The apache is installed on the MAC OSX by default.
To start httpd:
sudo /usr/sbin/apachectl start
To stop httpd:
sudo /usr/sbin/apachectl stop
To restart httpd:
sudo /usr/sbin/apachectl restart
The pre-installed version of PHP in Mac OS 10.12 (Sierra) is still only PHP 5.6.
Installing PHP
First, choose the version of PHP you want to install. In this example, I will install PHP 7 as that is the latest stable version of PHP.
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
Configuring Apache
Provided you are using the pre-installed version of Apache, PHP OSX will automatically configure Apache to use the new PHP module.
The default module loaded by apache is php5, as follow:
LoadModule php5_module /usr/local/php5/libphp5.so
After browsing the folder local and php5, we should add a new line similar to following:
LoadModule php7_module /usr/local/php5-7.0.12-20161101-102255/libphp7.so
Update PATH
If you don’t want to run the command above every time you open a new command line, you can update the PATH
in your .bash_profile
.
vi ~/.bash_profile
export PATH=/usr/local/php5/bin:$PATH
Configure PHP
Configure the parameters of PHP, navigate to
/usr/local/php5-7.0.12-20161101-102255/php.d/99-liip-developer.ini
You can tune the php according to your need, eg.
I cannot upload big dump files (memory, HTTP or timeout problems).
Starting with version 2.7.0, the import engine has been re–written and these problems should not occur. If possible, upgrade your phpMyAdmin to the latest version to take advantage of the new import features.
The first things to check (or ask your host provider to check) are the values of upload_max_filesize
, memory_limit
and post_max_size
in the php.ini
configuration file. All of these three settings limit the maximum size of data that can be submitted and handled by PHP. One user also said that post_max_size
and memory_limit
need to be larger than upload_max_filesize
. There exist several workarounds if your upload is too big or your hosting provider is unwilling to change the settings:
-
Look at the
$cfg['UploadDir']
feature. This allows one to upload a file to the server via scp, ftp, or your favorite file transfer method. PhpMyAdmin is then able to import the files from the temporary directory. More information is available in the Configuration of this document. -
Using a utility (such as BigDump) to split the files before uploading. We cannot support this or any third party applications, but are aware of users having success with it.
-
If you have shell (command line) access, use MySQL to import the files directly. You can do this by issuing the “source” command from within MySQL:
source filename.sql;
test PHP
create a file called phpinfo.php, and add following to the content:
<?php phpinfo(); ?>
open a browser, type http://localhost/phpinfo.php
All the php info will pop up.
Mysql
Download and install the latest MySQL generally available release DMG for Mac OS X.
you can update your path to include /usr/local/mysql/bin
.
export PATH=/usr/local/mysql/bin:$PATH
Note: You will need to open a new Terminal window or run the command above for your path to update.
If you are so inclined, the start/stop commands have changed for MySQL 5.7 on OSX
To start
sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
To stop
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
To find the MySQL version from the terminal, type at the prompt:
/usr/local/mysql/bin/mysql -v -u root -p
Finally, you should run mysql_secure_installation
. While this isn’t necessary, it’s good practice to secure your database:
sudo mysql_secure_installation -u root
Connect PHP and MYSQL
For some reason mysql on OS X gets the locations of the required socket file a bit wrong, but thankfully the solution is as simple as setting up a symbolic link.
You may have a socket (appearing as a zero length file) as /tmp/mysql.sock or /var/mysql/mysql.sock but 1 or more apps is looking in the other location for it.
Rather than move the socket and have to edit config files and remember to keep edited files local and away from servers where the paths are correct, simply create a symbolic link so your mac finds the required socket, even when it’s looking in the wrong place!
If you have /tmp/mysql.sock but no /var/mysql/mysql.sock then…
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
If you have /var/mysql/mysql.sock but no /tmp/mysql.sock then
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
You will need permissions to create the directory and link, so just prefix the commands above with sudo if necessary.