Apache, PHP, mySQL auf High Sierra

Aus Wikizone
Wechseln zu: Navigation, Suche

Apache PHP mit Bordmitteln + mySQL als Einzelinstallation

Quelle: https://websitebeaver.com/set-up-localhost-on-macos-high-sierra-apache-mysql-and-php-7-with-sslhttps

Set up localhost on macOS High Sierra (Apache, MySQL, and PHP 7) with SSL/HTTPS Sep 20, 2017 Turn on Apache

   Open Terminal by clicking on the magnifying glass at the top right corner of your screen and searching for Terminal
   Type sudo apachectl start and press enter
   Open Safari (or your browser of choice), type localhost in the address bar, and press enter

Can’t believe it’s that easy? It is! You should now see It works! in the browser.

Turn on PHP

Mac already comes with PHP, so you don’t need to install it from PHP.net. Before High Sierra (version 10.13), Mac came with PHP 5 installed. This caused users to get annoyed because it didn’t come with PHP 7, so you’d have to go through extra work to upgrade from PHP 5 to PHP 7. Thankfully High Sierra already comes with PHP 7.1!!!

   Open Terminal and type sudo nano /etc/apache2/httpd.conf and press enter
   Press Ctrl+W which will bring up a search
   Search for php and press enter. You’ll see the following:
   Delete the # from #LoadModule php7_module libexec/apache2/libphp7.so
   Press Ctrl+O followed by Enter to save the change you just made
   Press Ctrl+X to exit nano
   Type sudo apachectl restart and press enter

You just turned PHP 7 on. Great work so far! Create Sites Folder

   Click on Finder at the bottom left corner of your screen and click on Go > Home the top navigation bar. This will take you to your home directory, which will also be whatever your computer is named; in this case it's david.
   Create a new folder and name it Sites (The Safari icon shown below gets added automatically to the Sites folder as shown below)
   Open your favorite text editor and create a file called index.php with the following code:

<?php echo "Hello From Sites Folder!"; phpinfo(); ?>

   Save index.php in the Sites folder you created
   Go back to Terminal and enter sudo nano /etc/apache2/httpd.conf
   Press Ctrl+W to bring up search
   Search for Library and press enter. You should see this:
   Replace both occurrences of /Library/WebServer/Documents with /Users/david/Sites (instead of david use your name which can be found at the top of your terminal next to the home icon)
   Press Ctrl+O followed by Enter to save these changes
   Press Ctrl+X to exit nano
   Type sudo apachectl restart and press enter

Go back to Safari and refresh the localhost page and you’ll see Hello From Sites Folder! with PHP info that shows PHP 7 is being used.

Install MySQL

   Go to https://dev.mysql.com/downloads/mysql
   Scroll down until you see three download buttons and click on the one next to DMG Archive
   Scroll down and click No thanks, just start my download
   Click on the downloaded file, double click the pkg file, and go through the installation which should look like this:
   Once you get to the end of the installation, you’ll see a popup that gives you your MySQL username (root) and password (8hxKsiIh?YMt). Your password will be different. Copy the password to text file (or take a screenshot) and press okay. Do this now, as it will be pain to reset the password if you don't know it.
   Press the Apple logo at the top left of your screen and go to System Preferences
   Click on MySQL and you’ll see that it’s turned off
   Press Start MySQL Server to turn it on and you’ll see:
   Go back to Terminal and type sudo /usr/local/mysql/bin/mysql -u root -p
   When you press enter it will ask you for your Password. This is the password you use when you login to your Mac
   Then it says Enter Password: which is 8hxKsiIh?YMt for me (you should use the password you copied earlier instead of 8hxKsiIh?YMt). You’ll see this screen:
   Type ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; and press enter
   Go to https://www.sequelpro.com and download Sequel Pro. This is like phpMyAdmin, but better because it’s a desktop app.
   Go through the installation, open Sequel Pro, and enter 127.0.0.1 for the Host. Enter root for the Username and newpassword for the Password. Press Connect
   Click Choose Database… at the top left followed by Add Database…
   Give it the name mydb and press enter
   Then click the plus sign at the bottom left to create a new table. Name the table mytable and press add
   Click the plus sign right above the word INDEXES and name the field message. Set the type to VARCHAR and give it a length of 200.
   Click on Content at the top.
   Click the plus sign at the bottom (the one to the left of the minus sign)
   Give the new entry an id of 1 and set the message to MySQL works perfectly!
   Open index.php in your Sites folder and change the code to

<?php $con = new mysqli("127.0.0.1", "root", "newpassword", "mydb"); $message = $con->query("SELECT message FROM myTable")->fetch_object()->message; $con->close(); echo "$message
"; echo "Hello From Sites Folder!"; phpinfo();

Obviously this example is immune to SQL injection, since there are no user-inputted values. However, if you don’t understand MySQLi prepared statements as well as you’d like, check out this post for an excellent tutorial on how to prevent SQL injection