วิธีที่ง่ายที่สุดในการเปิดใช้งาน PHP และ MySQL บน Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?


102

วิธีที่ง่ายที่สุดในการเปิดใช้งาน PHP และ MySQL บน Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion) คืออะไร?

ฉันต้องการใช้เวอร์ชันที่แถมมาก่อนที่จะดาวน์โหลดจากเว็บไซต์ PHP หรือ MySQL นอกจากนี้ยังกำหนด MAMP และสิ่งที่คล้ายกัน

ฉันสบายใจที่บรรทัดคำสั่งใน Terminal

คำตอบ:


142

เปิดโปรแกรมแก้ไขข้อความที่ดี (ฉันขอแนะนำ TextMate แต่ TextWrangler หรือ vi หรือ nano ฟรีจะทำเช่นกัน) และเปิด:

/etc/apache2/httpd.conf

ค้นหาบรรทัด:

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

และยกเลิกการแสดงความคิดเห็น (ลบ #)

ดาวน์โหลดและติดตั้ง MySQL เวอร์ชันล่าสุดจาก mysql.com เลือกเวอร์ชัน x86_64 สำหรับ Intel (เว้นแต่ว่า Intel Mac ของคุณจะเป็น Macbook Pro หรือ Macbook ดั้งเดิมซึ่งไม่ใช่ชิป 64 บิตในกรณีดังกล่าวให้ใช้เวอร์ชัน 32 บิต x86)

ติดตั้งส่วนประกอบ MySQL ทั้งหมด ใช้บานหน้าต่าง pref เริ่ม MySQL

ในการตั้งค่าระบบการแชร์ให้เปิด (หรือถ้าเปิดอยู่แล้วให้ปิด / เปิด) การแชร์เว็บ

ตอนนี้คุณควรมี Apache / PHP / MySQL ทำงานอยู่

ใน 10.4 และ 10.5 จำเป็นต้องแก้ไขไฟล์ php.ini ให้ชี้ไปยังตำแหน่งที่ถูกต้องของ mysql.sock มีรายงานว่าสิ่งนี้ได้รับการแก้ไขใน 10.6 แต่ดูเหมือนจะไม่เป็นเช่นนั้นสำหรับเราทุกคนตามความคิดเห็นด้านล่าง


10
ถ้าใครสงสัยว่าของที่ไหนphp.iniไม่มี! แต่คุณสามารถเพิ่มได้/etcโดยคัดลอก/etc/php.ini.defaultไปที่/etc/php.ini
cregox

11
และหน้า "ใช้งานได้" อยู่ภายใต้/Library/WebServer/Documents/index.html.en
cregox

1
ในตอนท้ายฉันต้องคัดลอกไฟล์ php.ini.default ใน php.ini และไฟล์ PHP ก็เริ่มทำงานตามที่ควรจะเป็น
kiamlaluno

3
ในการใช้ MySQL ฉันต้องเปลี่ยนซ็อกเก็ตเริ่มต้นด้วยซึ่งในกรณีของฉันคือ /tmp/mysql.sock (ฉันติดตั้ง MySQL 5.5)
kiamlaluno

7
นอกจากนี้หลังจากบันทึก .conf แล้วคุณสามารถใช้คำสั่งsudo apachectl restartแทนการปิดการแชร์เว็บได้
aaaidan

17

ในการตั้งค่าหรือ MySQL ให้เสร็จสมบูรณ์:

sudo vim /etc/profile
  1. เพิ่มนามแฝง

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
    
  2. จากนั้นตั้งรหัสผ่านรูทของคุณ

    mysqladmin -u root password 'yourPassword'
  3. จากนั้นคุณสามารถเข้าสู่ระบบด้วย

    mysql -u root -p

ฉันชอบสิ่งนี้! แทนที่จะยุ่งกับ PATH ให้เพิ่มนามแฝง +1
brutuscat

1
นอกจากนี้อย่าลืมปิด / เปิดเซสชัน Terminal ของคุณอีกครั้งเพื่อให้นามแฝงของคุณมีผล
gravyface

4

ฉันชอบHomeBrewมากกว่า MacPorts ในการติดตั้งซอฟต์แวร์จากแหล่งที่มา

HomeBrew แยกทุกอย่างใน / usr / local / Cellar ดังนั้นจึงไม่พ่นไฟล์ไปทั่วทุกที่ (ใช่ MacPorts เก็บทุกอย่างไว้ใน / opt / local แต่ต้องมีการเข้าถึง sudo และฉันไม่เชื่อ MacPorts ที่มีรูท)

การติดตั้ง MySQL ทำได้ง่ายเพียง:

brew install mysql
mysql_install_db

ในการเริ่ม mysql ในประเภท Terminal:

mysqld&

มีวิธีเริ่มต้นเมื่อบูต แต่ฉันต้องการเริ่มด้วยตนเอง


"brew link mysql" จะสร้าง symlink จำนวนหนึ่งใน / usr / local / bin เป็นต้น
Duke

ฉันไม่แน่ใจว่าฉันเข้าใจความคิดเห็นของ 'spew files' MacPorts แยกทุกอย่างใน / opt / local ดังนั้นจึงดูเหมือนว่าเทียบเท่า ฉันคิดว่าบางครั้งฉันเคยเห็นบางสิ่งบางอย่างที่วางอยู่ใน / Applications / MacPorts (เช่น AquaTerm สำหรับ gnuplot) แต่นี่เป็นข้อยกเว้นที่หายากมากและโดยปกติจะเป็นสาเหตุที่ดี (เช่น AquaTerm เป็นชุด. app) และถึงแม้จะเก็บไว้ก็ตาม จัดภายใต้ไดเรกทอรีเดียว ...
Ethan

1
โอ้ฉันคิดว่ามันง่ายกว่าที่จะเพิ่ม / opt / local / bin ใน $ PATH ของฉันและ -I / opt / local / รวมถึง CPPFLAGS, -L / opt / local / lib เป็น LDFLAGS แล้วไม่ต้องจำ เพื่อตั้งค่าลิงค์สำหรับทุกแพ็คเกจที่ติดตั้ง ...
Ethan

การใช้ symlink ของฉันขึ้นอยู่กับความไม่รู้บางส่วน มันไม่จำเป็นเลย ฉันไม่เชื่อถือสคริปต์การติดตั้งขนาดใหญ่ที่มีรูท และถ้าคุณไม่คิดว่า MacPorts จะแพร่กระจายไฟล์ในหลาย ๆ ไดเรกทอรีเพียงแค่ดูคำแนะนำในการถอนการติดตั้ง: guide.macports.org/chunked/…
Duke

4

มันเป็นโฟลเดอร์ล่องหน เพียงแค่กดCommand+ Shift+ G(จะนำคุณไปไปที่โฟลเดอร์รายการเมนู) /etc/และประเภท

จากนั้นจะพาคุณเข้าไปในโฟลเดอร์นั้น


3

สิ่งนี้ช่วยฉันได้มาก:

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

นอกจากนี้ยังใช้ได้กับ Mac OS X Lion: D

.: แก้ไข:. ในกรณีของฉัน prefepane อนุญาตให้เริ่มและหยุด mysql เท่านั้น แต่หลังจากมีปัญหาบางอย่างฉันได้ถอนการติดตั้งเขาแล้ว หากคุณต้องการแอปพลิเคชันเพื่อเรียกใช้แบบสอบถามและสร้างฐานข้อมูลคุณสามารถใช้: Sequel Pro (ฟรี) หรือ Navicat

หากคุณต้องการเริ่มและหยุด mysql ใน ~ / .bash_profile คุณสามารถเพิ่มบรรทัดเหล่านี้:

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

หลังจากโหลดคอนโซลใหม่เพียงโทร:

$mysql_start 

หรือ

$mysql_stop 

เร่งการกระทำที่ต้องการ หวังว่าจะช่วยคุณ


MySQL prefpane ทำงานให้คุณใน Lion หรือไม่ นั่นคือสามารถเปิด / ปิด MySQL ได้หรือไม่?
Matt Sephton

1
ฉันไม่ต้องการบานหน้าต่างส่วนหน้า แต่จะช่วยแก้ปัญหาของคุณได้หรือไม่? : stackoverflow.com/questions/3027479/…
workdreamer

แต่ prefpane อนุญาตให้คุณเริ่มและหยุด mysql เท่านั้น ฉันแก้ไขโพสต์ของฉันใหม่เนื่องจากที่นี่ไม่ได้จัดรูปแบบ
workdreamer

1

ฉันเห็นด้วยกับ Benjamin ให้ติดตั้ง MAMP หรือ MacPorts ( http://www.macports.org/ ) การแยกการติดตั้ง PHP ของคุณนั้นง่ายกว่าและหลีกเลี่ยงการยุ่งกับการติดตั้ง PHP หลักหากคุณทำผิดพลาด!

MacPorts ดีกว่าสำหรับการติดตั้งซอฟต์แวร์อื่น ๆ เช่น ImageMagick ดูรายชื่อพอร์ตทั้งหมดได้ที่http://www.macports.org/ports.php

MAMP ใช้ PHP, Apache และ MySQL จริงๆดังนั้นโมดูล PHP ในอนาคตที่คุณต้องการจะต้องเปิดใช้งานด้วยตนเอง ใช้งานง่ายอย่างไม่น่าเชื่อ


0

ถือว่ายังไม่ได้เปิดตัวฉันคิดว่านี่เป็นคำถามสำหรับล่วงหน้าหรือคุณมีงานสร้างของนักพัฒนา ดังที่ Benjamin กล่าวไว้ MAMP เป็นวิธีที่ง่ายที่สุด อย่างไรก็ตามหากคุณต้องการติดตั้งแบบเนทีฟกระบวนการควรเป็นเช่น 10.5 PHP มาติดตั้งบน OS X โดยค่าเริ่มต้น (ไม่ได้เปิดใช้งานสำหรับบางคนเสมอไป) เพียงดาวน์โหลด MySQL เวอร์ชัน 32 บิตเริ่มต้น Apache และคุณก็น่าจะดี คุณอาจต้องปรับแต่ง Apache สำหรับ PHP หรือ MySQL ขึ้นอยู่กับว่ามีบิวด์อะไรบ้าง ฉันไม่ต้องปรับแต่งอะไรเพื่อให้มันใช้งานได้


ไม่น่าสนใจ - Snow Leopard มีความสามารถ 64 บิตทำไมต้องเลือก MySQL 32 บิต?
Matt Sephton

1
Leopard และแม้แต่ Tiger สำหรับสิ่งส่วนใหญ่ที่ฉันเชื่อว่ามีความสามารถ 64 บิต MySQL 64 บิตมีปัญหาบางอย่างกับแพ็คเกจอื่น ๆ ซึ่งไม่เกี่ยวข้องโดยตรงกับ PHP แต่จำเป็นต้องบอกว่าเขาลองใช้ Python ในบรรทัด - 64 บิต MySQL ทำให้เกิดความเศร้าโศกอย่างร้ายแรงกับแพ็คเกจ MySQLDB มันใช้งานได้อย่างสมบูรณ์เพียง แต่ยังไม่ครบทุกสิ่งที่น่าเศร้า
machuga

0

FYI - หากใครประสบปัญหาในการเปิดตัว Apache และได้รับข้อผิดพลาดเกี่ยวกับ

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

เป็นเพราะการอัปเดตล่าสุดของ Apache ใน Snow Leopard การแก้ไขทำได้ง่ายเพียงเปิด/usr/sbin/apachectlและตั้งค่าULIMIT=""

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


0

หากคุณอัปเกรดเป็น Mac OS X 10.8 Mountain Lion และก่อนหน้านี้มีระบบการทำงานสิ่งที่คุณต้องทำคือเปิดใช้งาน PHP อีกครั้งตามขั้นตอนที่ 1 ของคำตอบที่เลือกข้างต้น

คุณอาจพบบานหน้าต่างการตั้งค่าต่อไปนี้ที่มีประโยชน์สำหรับการจัดการ "การแชร์เว็บ" (เว็บเซิร์ฟเวอร์ Apache) ซึ่งแทนที่ฟังก์ชันของระบบที่ลบออกใน OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -สิงโต/

ฉันต้องเพิ่มโฮสต์เสมือนของฉันอีกครั้งรวมบรรทัดใน httpd.conf


0

นอกเหนือจากเวอร์ชันเนทีฟ แต่คุณอาจต้องการลอง BitNami MAMP Stacks (ข้อจำกัดความรับผิดชอบฉันเป็นหนึ่งในผู้พัฒนา) ฟรีทั้งหมดในหนึ่งชุดของ Apache, MySQL, PHP และไลบรารีและยูทิลิตี้ของบุคคลที่สามอื่น ๆ ที่มีประโยชน์เมื่อพัฒนาในเครื่อง โดยเฉพาะอย่างยิ่งพวกมันมีอยู่ในตัวเองอย่างสมบูรณ์ดังนั้นคุณจึงสามารถติดตั้งได้หลายเครื่องพร้อมกันโดยมี Apache และ MySQL เวอร์ชันต่างๆกันและจะไม่รบกวนซึ่งกันและกัน คุณสามารถรับได้จากhttp://bitnami.org/stack/mampstackหรือโดยตรงจาก Mac OS X app store https://itunes.apple.com/app/mamp-stack/id571310406



0

มีคำแนะนำที่ดีที่นี่:

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

อย่างไรก็ตามมันไม่ได้ผลสำหรับฉันลองครั้งแรก ฉันพบเคล็ดลับนี้: เรียกใช้ "httpd -t" ใน Terminao เพื่อตรวจสอบไวยากรณ์ของไฟล์กำหนดค่าของคุณ ปรากฎว่าการใช้การคัดลอกและวางจากบทช่วยสอนแนะนำตัวอักษรแปลก ๆ หลังจากแก้ไขแล้วก็ใช้งานได้ดี มีลิงค์บางส่วนจากคำแนะนำสำหรับการเพิ่ม MySQL ด้วย

สิ่งนี้ได้ผลดีสำหรับฉันมากกว่า MAMP เมื่อใช้ MAMP ฉันมีความล่าช้าประมาณ 20 วินาทีก่อนที่การเปลี่ยนแปลงในไฟล์. php จะปรากฏในเบราว์เซอร์เมื่อคุณรีเฟรชแม้ว่าคุณจะล้างแคชประวัติคุกกี้ ฯลฯ

ปัญหานี้ได้รับการแก้ไขแล้วใน MAMP PRO แต่ MAMP PRO มีปัญหาใหม่ของตัวเองไฟล์. php จะถูกดาวน์โหลดแทนที่จะแสดงเป็นเพจในเบราว์เซอร์! ฉันติดต่อฝ่ายสนับสนุนและพวกเขาไม่รู้ว่าเกิดอะไรขึ้น

เซิร์ฟเวอร์ Apache ในตัวไม่มีปัญหาเหล่านี้ ทางไปแน่นอน คำแนะนำด้านล่างเกือบจะเหมือนกับข้างบน แต่มีความคิดเห็นของผู้ใช้ที่เป็นประโยชน์:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.