Cara termudah untuk mengaktifkan PHP dan MySQL di Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

102

Apa cara termudah untuk mengaktifkan PHP dan MySQL di Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

Saya lebih suka menggunakan versi yang dibundel sebelum beralih mengunduh dari situs web PHP atau MySQL. Itu juga mengesampingkan MAMP dan sejenisnya.

Saya merasa nyaman dengan baris perintah di Terminal.

Matt Sephton
sumber

Jawaban:

142

Buka editor teks yang bagus (saya akan merekomendasikan TextMate, tetapi TextWrangler gratis atau vi atau nano juga bisa melakukannya), dan buka:

/etc/apache2/httpd.conf

Temukan garisnya:

"#LoadModule php5_module        libexec/apache2/libphp5.so"

Dan hapus tanda komentar (hapus #).

Unduh dan instal versi MySQL terbaru dari mysql.com. Pilih versi x86_64 untuk Intel (kecuali Intel Mac Anda adalah Macbook Pro atau Macbook asli, yang bukan merupakan chip 64 bit. Dalam kasus tersebut, gunakan versi 32 bit x86).

Instal semua komponen MySQL. Menggunakan panel pref, mulai MySQL.

Di Preferensi Sistem Berbagi, aktifkan (atau jika sudah dihidupkan, matikan / nyalakan) Berbagi Web.

Anda sekarang harus menjalankan Apache / PHP / MySQL.

Pada 10.4 dan 10.5 itu perlu untuk memodifikasi file php.ini untuk menunjuk ke lokasi yang benar dari mysql.sock. Ada laporan bahwa ini diperbaiki di 10.6, tetapi tampaknya itu tidak terjadi pada kita semua, mengingat beberapa komentar di bawah ini.

TWLATL
sumber
10
jika ada orang lain yang bertanya-tanya di mana php.ini, tidak ada! tetapi Anda dapat menambahkannya /etcdengan menyalin /etc/php.ini.defaultke/etc/php.ini
cregox
11
dan laman " /Library/WebServer/Documents/index.html.en
Berhasil
1
Pada akhirnya, saya harus menyalin file php.ini.default di php.ini, dan file PHP mulai dijalankan sebagaimana mestinya.
kiamlaluno
3
Untuk menggunakan MySQL, saya juga harus mengubah soket default, yang dalam kasus saya adalah /tmp/mysql.sock (Saya menginstal MySQL 5.5).
kiamlaluno
7
Selain itu, setelah menyimpan .conf, Anda cukup menggunakan perintah sudo apachectl restartalih-alih menonaktifkan berbagi web.
aaaidan
17

Untuk menyelesaikan penyiapan atau MySQL Anda:

sudo vim /etc/profile
  1. Tambahkan alias

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Kemudian atur kata sandi root Anda

    mysqladmin -u root password 'yourPassword'
  3. Kemudian Anda bisa masuk dengan

    mysql -u root -p
mdskinner.dll
sumber
Saya suka ini! Alih-alih mengotak-atik PATH tambahkan alias +1
brutuscat
1
Juga, ingatlah untuk menutup / membuka kembali sesi Terminal Anda agar alias Anda berlaku.
gravyface
4

Saya sangat lebih suka HomeBrew daripada MacPorts untuk menginstal perangkat lunak dari sumbernya.

HomeBrew mengurutkan semua yang ada di / usr / local / Cellar sehingga tidak memuntahkan file di semua tempat. (Ya, MacPorts menyimpan semuanya di / opt / local, tetapi membutuhkan akses sudo, dan saya tidak mempercayai MacPorts dengan root.)

Menginstal MySQL sesederhana:

brew install mysql
mysql_install_db

Untuk memulai mysql, di tipe Terminal:

mysqld&

Ada cara untuk memulainya saat boot, tapi saya suka memulainya secara manual.

Bangsawan tinggi
sumber
"brew link mysql" akan membuat sejumlah symlink di / usr / local / bin dll.
Duke
Saya tidak yakin saya mengerti komentar 'memuntahkan file yang berantakan'. MacPorts mengurutkan semua yang ada di / opt / local, jadi sepertinya setara. Saya kira kadang-kadang saya telah melihat sesuatu ditempatkan di / Applications / MacPorts (misalnya AquaTerm untuk gnuplot), tetapi ini adalah pengecualian yang sangat langka dan biasanya untuk tujuan yang baik (misalnya AquaTerm adalah .app bundle), dan bahkan menyimpannya diatur dalam satu direktori ...
Ethan
1
Oh, dan saya merasa lebih mudah untuk menambahkan / opt / local / bin ke $ PATH saya, dan -I / opt / local / include ke CPPFLAGS, -L / opt / local / lib ke LDFLAGS, dan kemudian tidak perlu mengingat untuk mengatur tautan untuk setiap paket yang terinstal ...
Ethan
Penggunaan symlink saya sebagian didasarkan pada ketidaktahuan; itu sama sekali tidak perlu. Saya hanya tidak mempercayai skrip instalasi besar dengan root. Dan jika menurut Anda MacPorts tidak menyebarkan file ke banyak direktori, lihat saja petunjuk penghapusan instalan: guide.macports.org/chunked/…
Duke
4

Ini adalah folder yang tidak terlihat. CommandTekan saja + Shift+ G(membawa Anda ke item menu Go to Folder) dan ketik /etc/.

Kemudian Anda akan dibawa ke dalam folder itu.

asdf1
sumber
3

Ini sangat membantu saya:

http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

Ini juga berfungsi untuk Mac OS X Lion: D

.: EDIT :. Dalam kasus saya, prefepane hanya memungkinkan untuk memulai dan menghentikan mysql, tetapi setelah beberapa masalah saya telah mencopotnya. Jika Anda membutuhkan aplikasi untuk menjalankan query dan membuat DB, Anda dapat menggunakan: Sequel Pro (gratis) atau Navicat

Jika Anda perlu memulai dan menghentikan mysql di ~ / .bash_profile Anda dapat menambahkan baris ini:

#For MySQL
alias mysql_start="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias mysql_stop="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

Setelah memuat ulang konsol, panggil saja:

$mysql_start 

atau

$mysql_stop 

melanggar tindakan yang diinginkan. Semoga membantu Anda.

pekerja keras
sumber
Apakah prefpane MySQL berfungsi untuk Anda di Lion? Artinya, dapatkah itu mengaktifkan / menonaktifkan MySQL?
Matt Sephton
1
saya tidak membutuhkan prefpane, tapi ini menjawab pertanyaan Anda? : stackoverflow.com/questions/3027479/…
workdreamer
Tetapi prefpane hanya memungkinkan Anda untuk memulai dan menghentikan mysql. Saya mengedit kembali posting saya karena di sini tidak diformat.
workdreamer
1

Saya setuju dengan Benjamin, baik instal MAMP atau MacPorts ( http://www.macports.org/ ). Memisahkan instalasi PHP Anda lebih sederhana dan menghindari mengacaukan instalasi inti PHP jika Anda membuat kesalahan!

MacPorts sedikit lebih baik untuk menginstal perangkat lunak lain, seperti ImageMagick. Lihat daftar lengkap port yang tersedia di http://www.macports.org/ports.php

MAMP hanya benar-benar melakukan PHP, Apache dan MySQL sehingga setiap modul PHP masa depan yang Anda inginkan perlu diaktifkan secara manual. Ini sangat mudah digunakan.

simonrjones.dll
sumber
0

Mengingat ini belum dirilis, saya anggap ini adalah pertanyaan sebelumnya atau Anda memiliki build pengembang. Seperti yang dikatakan Benjamin, MAMP adalah cara termudah. Namun, jika Anda menginginkan penginstalan asli, prosesnya harus seperti 10.5. PHP telah terinstal di OS X secara default (tidak selalu diaktifkan untuk beberapa), cukup unduh MySQL versi 32-bit, jalankan Apache, dan Anda sebaiknya melakukannya. Anda mungkin harus mengubah Apache untuk PHP atau MySQL, tergantung pada build apa yang ada. Saya tidak perlu mengubah apa pun agar berfungsi.

machuga
sumber
Tidak menarik - Snow Leopard berkemampuan 64-bit, jadi mengapa memilih MySQL 32-bit?
Matt Sephton
1
Macan tutul, dan bahkan Macan, menurut saya, memiliki kemampuan 64-bit. MySQL 64-bit memiliki beberapa masalah dengan beberapa paket lain, tidak secara langsung terkait dengan PHP, tetapi katakanlah ia mencoba Python di telepon - MySQL 64-bit menyebabkan kesedihan yang serius dengan paket MySQLDB. Ini benar-benar dapat digunakan, hanya saja belum semuanya berhasil, sayangnya.
machuga
0

FYI - jika ada yang mengalami masalah dengan peluncuran Apache, dan mendapatkan kesalahan tentang

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

itu karena pembaruan terkini untuk Apache di Snow Leopard. Cara mengatasinya mudah, cukup buka /usr/sbin/apachectldan aturULIMIT=""

http://blog.deversus.com/2010/11/mac-os-1065-apachectl-usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/

cabgfx.dll
sumber
0

Jika Anda telah meningkatkan ke Mac OS X 10.8 Mountain Lion, dan sebelumnya memiliki sistem yang berfungsi, yang perlu Anda lakukan hanyalah mengaktifkan kembali PHP seperti pada Langkah 1 dari jawaban yang dipilih di atas.

Anda juga dapat menemukan Panel Preferensi berikut berguna untuk mengelola "berbagi web" (server web Apache), yang menggantikan fungsionalitas sistem yang dihapus di OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -singa/

Saya juga harus menambahkan kembali host virtual saya termasuk baris ke httpd.conf

Matt Sephton
sumber
0

Selain versi asli, tetapi Anda mungkin ingin mencoba BitNami MAMP Stacks (penafian, saya salah satu pengembangnya). Mereka benar-benar gratis, bundel lengkap Apache, MySQL, PHP dan beberapa perpustakaan dan utilitas pihak ketiga lainnya yang berguna saat mengembangkan secara lokal. Secara khusus, mereka benar-benar mandiri sehingga Anda dapat menginstal beberapa pada saat yang sama, dengan versi Apache dan MySQL yang berbeda dan mereka tidak akan saling mengganggu. Anda bisa mendapatkannya dari http://bitnami.org/stack/mampstack atau langsung dari app store Mac OS X https://itunes.apple.com/app/mamp-stack/id571310406

Daniel Lopez
sumber
0

ammps sangat mudah bagi saya dan memiliki konfigurasi berbasis web yang bagus:

crizCraig.dll
sumber
Saya lebih suka versi paket standar, silakan lihat pertanyaannya.
Matt Sephton
0

Ada panduan hebat di sini:

https://discussions.apple.com/docs/DOC-3083

Namun, itu tidak berhasil untuk percobaan pertama saya. Saya menemukan tip ini: jalankan "httpd -t" di Terminao untuk memeriksa sintaks file konfigurasi Anda. Ternyata menggunakan copy & paste dari tutorial memperkenalkan beberapa karakter aneh. Setelah memperbaiki ini, itu bekerja dengan baik. Ada beberapa tautan dari panduan untuk menambahkan MySQL juga.

Ini bekerja jauh lebih baik bagi saya daripada MAMP. Dengan MAMP, saya mengalami penundaan sekitar 20 detik atau lebih sebelum perubahan pada file .php akan terlihat di browser saat Anda menyegarkan, bahkan jika Anda menghapus cache, riwayat, cookie, dll.

Masalah ini telah diselesaikan di MAMP PRO, tetapi MAMP PRO memiliki masalah baru: file .php akan diunduh alih-alih dirender sebagai halaman di browser! Saya menghubungi dukungan dan mereka tidak tahu apa yang sedang terjadi.

Server Apache bawaan tidak memiliki masalah ini. Pasti cara untuk pergi. Panduan di bawah ini hampir sama dengan panduan di atas, tetapi memiliki komentar pengguna yang sangat membantu:

http://osxdaily.com/2012/09/02/start-apache-web-server-mac-os-x/#comment-572991

Vern Jensen
sumber