ວິທີການຕິດຕັ້ງ PHP ໃນ MacOS 10.13 High Sierra ແລະ 10.14 Mojave ກັບ homebrew ແລະ PECL

ພາກທີສອງຂອງຊຸດສອງສ່ວນ ສຳ ລັບສ້າງຕັ້ງສະພາບແວດລ້ອມການພັດທະນາ Apache / PHP ພາຍໃຕ້ macOS

ບົດຂຽນນີ້ແມ່ນ ສຳ ລັບນັກພັດທະນາເວັບທີ່ຕ້ອງການໃຫ້ Apache ແລະ PHP ຕິດຕັ້ງໃສ່ໃນ Mac ຂອງພວກເຂົາເຊິ່ງເປັນສ່ວນ ໜຶ່ງ ຂອງສະພາບແວດລ້ອມການພັດທະນາຂອງພວກເຂົາ.

ໃຫ້ແນ່ໃຈວ່າໄດ້ກວດເບິ່ງພາກທີ 1. ເງື່ອນໄຂເບື້ອງຕົ້ນ ສຳ ລັບບົດຄວາມນີ້ແມ່ນບົດຂຽນຂອງຂ້ອຍກ່ຽວກັບການຕິດຕັ້ງ Apache ພາຍໃຕ້ macOS 10.13 High Sierra ແລະ 10.14 Mojave ກັບ homebrew.

ໃນໄລຍະຜ່ານມາ, ຂ້າພະເຈົ້າອີງໃສ່ລຸ້ນແລະ Apache ທີ່ໄດ້ຕິດຕັ້ງໄວ້ລ່ວງ ໜ້າ ກັບລະບົບປະຕິບັດການໃນ MacBook Pro ຂອງຂ້ອຍ. ຫຼັງຈາກນັ້ນຂ້ອຍຈະຕິດຕັ້ງໂປຣແກຣມເສີມ PHP ທີ່ຕ້ອງການ (ເຊັ່ນ: Xdebug, Redis ແລະອື່ນໆ) ຈາກ Homebrew.

ມາຮອດວັນທີ 1 ເມສາ 2018, Homebrew ໄດ້ປະຕິເສດວິທີການ "homebrew / PHP" ໃນຄວາມໂປດປານຂອງວິທີການ ໃໝ່ "homebrew / core". ເຖິງແມ່ນວ່າການຂະຫຍາຍທີ່ ສຳ ຄັນ ຈຳ ນວນ ໜຶ່ງ ຍັງໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ (ເຊັ່ນ: MySQLi), ການຂະຫຍາຍ PHP ສ່ວນໃຫຍ່ຈະບໍ່ຖືກແຈກຢາຍຜ່ານ homebrew ອີກຕໍ່ໄປ (ເຊັ່ນ: php71-xdebug, php71-redis etc. ) ແລະຕ້ອງໄດ້ຜ່ານ PECL (PHP Extension Community ຫໍສະມຸດ) ສາມາດຕິດຕັ້ງໄດ້. .

ເນື່ອງຈາກກົດລະບຽບຄວາມປອດໄພທີ່ປ່ຽນແປງຕະຫຼອດເວລາໃນ macOS ແລະຄວາມສັບສົນຂອງການ ນຳ ໃຊ້ macOS ລຸ້ນ PHP ທີ່ຕິດຕັ້ງໄວ້ລ່ວງ ໜ້າ ກັບ PECL, ຂ້ອຍໄດ້ຕັດສິນໃຈປ່ຽນວິທີການໂດຍລວມຂອງຂ້ອຍແລະໃຊ້ການຕັ້ງຄ່າທັງ ໝົດ ຈາກ Homebrew ແທນ. ວິທີການ ໃໝ່ ນີ້ຊ່ວຍໃຫ້ການຕິດຕັ້ງງ່າຍຂື້ນ, ມີຄວາມຍືດຫຍຸ່ນໃນການສະບັບແລະສືບຕໍ່ເຮັດວຽກ ສຳ ລັບ macOS ລຸ້ນທັງ ໝົດ.

ຄໍາແນະນໍາເຫຼົ່ານີ້ເຮັດວຽກຄືກັນກັບ macOS 10.13 High Sierra ແລະ 10.14 Mojave. ຂ້ອຍບໍ່ໄດ້ທົດສອບມັນກັບ macOS ລຸ້ນກ່ອນ, ແຕ່ມັນກໍ່ຄວນເຮັດວຽກຄືກັນ. ນອກຈາກນີ້, ທ່ານບໍ່ ຈຳ ເປັນຕ້ອງເລີ່ມຕົ້ນຕິດຕັ້ງລະບົບປະຕິບັດການ ໃໝ່ ເພື່ອ ນຳ ໃຊ້ບົດຄວາມນີ້. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຄຳ ແນະ ນຳ ເຫລົ່ານີ້ເລີ່ມຈາກການສົມມຸດຕິຖານວ່າທ່ານບໍ່ໄດ້ຕິດຕັ້ງຫຍັງເລີຍ, ເພາະວ່ານີ້ເປັນພຽງວິທີທີ່ງ່າຍທີ່ສຸດ.

ໃຫ້ເລີ່ມຕົ້ນ

ຕິດຕັ້ງ homebrew

ຖ້າທ່ານບໍ່ໄດ້ເຮັດແລ້ວ, ທ່ານຕ້ອງ:

(ໃຫ້ສັງເກດວ່າ ຄຳ ສັ່ງຕໍ່ໄປນີ້ແມ່ນເສັ້ນດຽວທີ່ຖືກຫໍ່ດ້ວຍສື່ກາງເນື່ອງຈາກຂໍ້ ຈຳ ກັດຄວາມກວ້າງຂອງ ໜ້າ ເວັບ. ໃຫ້ແນ່ໃຈວ່າທ່ານເຮັດ ສຳ ເນົາເສັ້ນທັງ ໝົດ.)

$ ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ສ້າງປື້ມບັນທຶກແຟ້ມ PHP Log

PHP ແມ່ນໄດ້ ກຳ ນົດໄວ້ລ່ວງ ໜ້າ ກັບບັນດາລາຍການບັນທຶກຂອງມັນເອງ, ແຕ່ພວກເຮົາຈະສ້າງໂຟນເດີຂອງພວກເຮົາເອງ "/ usr / local / log /" ເພື່ອໃຫ້ມັນງ່າຍໃນການຊອກຫາເມື່ອຕ້ອງການ. ປະຕິບັດຕາມຂັ້ນຕອນຂ້າງລຸ່ມເພື່ອສ້າງບັນດາທິດທາງທີ່ ເໝາະ ສົມແລະ ກຳ ນົດສິດອະນຸຍາດ. ບໍ່ສົນໃຈຂໍ້ຄວາມໃດໆທີ່ອາດຈະມີຢູ່.

$ sudo mkdir / usr / local / log
$ sudo mkdir / usr / ທ້ອງຖິ່ນ / log / php
$ sudo chgrp -R ພະນັກງານ / usr / ທ້ອງຖິ່ນ / log / php
$ sudo chmod -R ug + w / usr / ທ້ອງຖິ່ນ / log / php /

ຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ PHP

ໃນທ້າຍເດືອນມີນາ 2018, ທຸກລຸ້ນທີ່ກ່ຽວຂ້ອງກັບ PHP ໄດ້ຖືກປະຕິບັດໂດຍ homebrew / php tap, ແຕ່ວ່າມັນ ໝົດ ອາຍຸແລ້ວ. ຕອນນີ້ພວກເຮົາໃຊ້ສ່ວນປະກອບທີ່ມີຢູ່ໃນຊຸດ homebrew / core. ສິ່ງນີ້ຄວນໄດ້ຮັບການຮັກສາໃຫ້ດີກວ່າເກົ່າ, ແຕ່ແມ່ນຊຸດຂອງຊຸດທີ່ບໍ່ຄົບຖ້ວນຫຼາຍ.

$ brew ຕິດຕັ້ງ [email protected]

ກະລຸນາຮັບຊາບວ່າທ່ານພຽງແຕ່ສາມາດປ່ຽນ ໝາຍ ເລກຮຸ່ນເພື່ອຕິດຕັ້ງລຸ້ນ PHP ອື່ນໆ (ເຊັ່ນ: [email protected]). ທ່ານຍັງສາມາດຕິດຕັ້ງຫລາຍລຸ້ນ PHP ໃນເວລາດຽວກັນແລະປ່ຽນລະຫວ່າງມັນ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ເອກະສານນີ້ຖືກພັດທະນາໂດຍສະເພາະ ສຳ ລັບການຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ PHP 7.1.

ແຟ້ມ php.ini ໃໝ່ ຂອງທ່ານຢູ່ໃນລະບົບຕໍ່ໄປນີ້:

/usr/local/etc/php/7.1/php.ini

ເປີດໃຊ້ໂມດູນ Apache ທີ່ ຈຳ ເປັນ

ຕອນນີ້ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ກຳ ຫນົດຄ່າ Apache ເພື່ອໃຊ້ໂມດູນ PHP ທີ່ຕິດຕັ້ງ ໃໝ່. ເພື່ອເຮັດສິ່ງນີ້, ພວກເຮົາ ຈຳ ເປັນຕ້ອງແກ້ໄຂເອກະສານ httpd.conf ທີ່ພວກເຮົາຕິດຕັ້ງຢູ່ໃນພາກ 1 ຂອງຊຸດນີ້:

$ ເປີດ -e /usr/local/etc/httpd/httpd.conf

ເລື່ອນໄປທາງປາຍຂອງລາຍການ LoadModule ແລະເພີ່ມແຖວຕໍ່ໄປນີ້ຫຼັງຈາກເສັ້ນໂມດູນ mod_rewrite:

(ໃຫ້ສັງເກດວ່າ ຄຳ ສັ່ງຕໍ່ໄປນີ້ແມ່ນເສັ້ນດຽວທີ່ຖືກຫໍ່ດ້ວຍສື່ກາງເນື່ອງຈາກຂໍ້ ຈຳ ກັດຄວາມກວ້າງຂອງ ໜ້າ ເວັບ. ໃຫ້ແນ່ໃຈວ່າທ່ານເຮັດ ສຳ ເນົາເສັ້ນທັງ ໝົດ.)

LoadModule php7_module /usr/local/opt/[email protected]/lib/httpd/modules/libphp7.so

ຕັ້ງດັດສະນີໄດເລກະທໍລີແລະຕົວຈັດການເອກະສານ

ທ່ານຍັງຕ້ອງ ກຳ ນົດດັດສະນີ ສຳ ລັບ PHP ຢ່າງຈະແຈ້ງ, ດັ່ງນັ້ນທ່ານຄວນຊອກຫາຂໍ້ຄວາມຕໍ່ໄປນີ້:

 DirectoryIndex index.html 

... ແລະຈາກນັ້ນເລືອກແລະທົດແທນດ້ວຍສາຍຕໍ່ໄປນີ້:

DirectoryIndex index.php index.html SetHandler application / x-httpd-php

ບັນທຶກແລະອອກຈາກຕົວແກ້ໄຂຂໍ້ຄວາມ.

ກະລຸນາໃສ່ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃນ Terminal ເພື່ອເລີ່ມຕົ້ນການບໍລິການ PHP ແລະຮັບປະກັນວ່າມັນເລີ່ມຕົ້ນ ໃໝ່:

ບໍລິການ brew $ ເລີ່ມ [email protected]

ກວດເບິ່ງການຕິດຕັ້ງ PHP

ເພື່ອທົດສອບວ່າ PHP ຖືກຕິດຕັ້ງແລະເຮັດວຽກຕາມທີ່ຄາດໄວ້, ສ້າງແຟ້ມທີ່ມີຊື່ວ່າ index.php ຢູ່ໃນໂຟນເດີ Sites ທີ່ທ່ານສ້າງຂື້ນໃນພາກ 1 ຂອງຊຸດສອງພາກນີ້:

$ ແອັກໂກ້ " ~ / sites / index.php

Restart Apache:

$ sudo apachectl -k ເລີ່ມຕົ້ນ ໃໝ່

ຕອນນີ້ອັບເດດ browser ຂອງທ່ານຢ່າງລະອຽດ (ຫລືປິດແລະອອກຈາກ browser ຂອງທ່ານແລ້ວເລີ່ມ ໃໝ່). ຫຼັງຈາກນັ້ນ ນຳ ທາງໄປຫາໂຮດໃນທ້ອງຖິ່ນຂອງທ່ານແລະທ່ານຄວນຈະເຫັນ ໜ້າ ຂໍ້ມູນຂອງ PHP ທີ່ຄ້າຍຄືກັບສິ່ງຕໍ່ໄປນີ້:

ຖ້າທ່ານເຫັນຫນ້າຂໍ້ມູນຂອງ PHP ທີ່ຄ້າຍຄືກັນ, ຫຼັງຈາກນັ້ນຂໍສະແດງຄວາມຍິນດີ! ດຽວນີ້ທ່ານໄດ້ໃຊ້ Apache ແລະ PHP ສຳ ເລັດແລ້ວ.

ຖ້າທ່ານມີປັນຫາແລະ PHP ບໍ່ສາມາດໂຫລດໄດ້ຢ່າງຖືກຕ້ອງ, ກອງປະຊຸມໂປຣແກຣມທ່ອງເວັບຂອງທ່ານອາດຈະປ້ອງກັນການອັບເດດ. ປິດຕົວທ່ອງເວັບແລະອອກຈາກມັນຫມົດ. ດໍາເນີນການຕັ້ງຄ່າ Apache ອີກເທື່ອຫນຶ່ງ, ເປີດຕົວທ່ອງເວັບຂອງທ່ານແລະພະຍາຍາມນໍາທາງໄປຫາເຈົ້າຂອງທ້ອງຖິ່ນຂອງທ່ານ. ມັນຄວນຈະເຮັດວຽກ.

ຕິດຕັ້ງສ່ວນຂະຫຍາຍ PECL

ຮອດເດືອນມີນາ 2018, Homebrew ຈະບໍ່ແຈກຈ່າຍສ່ວນຂະຫຍາຍ PHP ສ່ວນໃຫຍ່ແລ້ວແລະພວກເຂົາຈະຕ້ອງຕິດຕັ້ງກັບ PECL. ນີ້ປະກອບມີການຂະຫຍາຍ xdebug, igbinary, ແລະ redis.

ຂ່າວດີແມ່ນວ່າ PECL ແມ່ນລວມຢູ່ໃນການຕິດຕັ້ງ PHP ຂອງທ່ານແລະສິ່ງທີ່ທ່ານຕ້ອງເຮັດແມ່ນເພີ່ມສະຖານທີ່ໃນຖັງ PATH ຂອງລະບົບຂອງທ່ານເພື່ອໃຫ້ມັນເຮັດວຽກຈາກສາຍບັນຊາຂອງທ່ານ.

** ໝາຍ ເຫດ: ຖ້າທ່ານຕິດຕັ້ງ PHP 7.2, ທ່ານສາມາດຂ້າມສ່ວນນີ້ໄດ້ເພາະວ່າ PECL ໄດ້ຖືກເພີ່ມເຂົ້າໃນເສັ້ນທາງລະບົບຂອງທ່ານແລ້ວ.

** ໝາຍ ເຫດ: ກ່ອນທີ່ທ່ານຈະປະຕິບັດ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້, ທ່ານຄວນກວດເບິ່ງເລກຮຸ່ນ (ເຊັ່ນ: "7.1.22") ໃນ /usr/local/Cellar/[email protected]/ ຂອງທ່ານທີ່ຈະເປັນສິ່ງອື່ນ.

ການສົ່ງອອກ PATH = $ PATH: /usr/local/Cellar/[email protected]/7.1.22/bin/

ນີ້ຈະເພີ່ມໄດເລກະທໍລີ PHP ຂອງທ່ານໄປສູ່ເສັ້ນທາງລະບົບຂອງທ່ານແລະເລີ່ມຕົ້ນ ໃໝ່. ທ່ານຄວນຈະດີທີ່ຈະໄປ!

ເປີດຢູ່ປາຍຍອດແລະໃສ່ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ແທນ "ຄຳ ສັ່ງທີ່ບໍ່ພົບ", ລາຍຊື່ຕົວເລືອກຄວນຈະປາກົດ. ເມື່ອທ່ານເຫັນບັນຊີລາຍຊື່ຂອງຕົວເລືອກ, ທ່ານດີທີ່ຈະໄປ.

$ pecl

ຕິດຕັ້ງ XDebug

ນີ້ຈະຕິດຕັ້ງ XDebug v2.6.0. ນີ້ແມ່ນລຸ້ນທີ່ມີສະຖຽນລະພາບໃນປະຈຸບັນ (ໃນເວລາຂຽນນີ້) ທີ່ຮອງຮັບ PHP 7.1.

ມີລຸ້ນລຸ້ນ XDebug ລຸ້ນອື່ນອີກ. ທ່ານສາມາດກວດເບິ່ງພວກມັນໄດ້ທີ່ນີ້ແລະພຽງແຕ່ໃສ່ເບີທີ່ຕ້ອງການ.

$ pecl ຕິດຕັ້ງ xdebug-2.6.0

ນີ້ຈະໃສ່ສາຍຢູ່ເທິງສຸດຂອງແຟ້ມ php.ini ຂອງທ່ານ, ເຊິ່ງພວກເຮົາຈະແກ້ໄຂຫຼັງຈາກຕິດຕັ້ງສ່ວນຂະຫຍາຍທີ່ຍັງເຫຼືອ.

ຕິດຕັ້ງ Igbinary

ນີ້ຈະຕິດຕັ້ງ Igbinary v2.0.6, ເຊິ່ງເປັນເວີຊັນທີ່ມີຄວາມ ໝັ້ນ ຄົງໃນປະຈຸບັນ (ໃນເວລາຂຽນນີ້) ແລະຮອງຮັບ PHP 7.1.

ມີຮຸ່ນອື່ນໆຂອງ Igbinary. ທ່ານສາມາດກວດເບິ່ງພວກມັນໄດ້ທີ່ນີ້ແລະພຽງແຕ່ໃສ່ເບີທີ່ຕ້ອງການ.

** ໝາຍ ເຫດ: ທ່ານຕ້ອງຕິດຕັ້ງສ່ວນຂະຫຍາຍ Igbinary ກ່ອນຕິດຕັ້ງ Redis.

$ pecl ຕິດຕັ້ງ igbinary-2.0.6

ນີ້ຈະໃສ່ສາຍຢູ່ເທິງສຸດຂອງແຟ້ມ php.ini ຂອງທ່ານ, ເຊິ່ງພວກເຮົາຈະແກ້ໄຂຫຼັງຈາກຕິດຕັ້ງ Redis ແລະສ່ວນຂະຫຍາຍຂອງມັນ.

ຕິດຕັ້ງ Redis

ທຳ ອິດຕິດຕັ້ງສ່ວນປະກອບຂອງ server Redis ສຳ ລັບສະພາບແວດລ້ອມການພັດທະນາຂອງພວກເຮົາ.

$ brew ຕິດຕັ້ງ redis

ເມື່ອມັນສົມບູນແລ້ວ, ເປີດ Redis ແລະຕັ້ງມັນໄວ້ເພື່ອເລີ່ມຕົ້ນ ໃໝ່.

ບໍລິການເບຍເບຍເລີ່ມຕົ້ນ ໃໝ່

ຕິດຕັ້ງ Redis PHP Extension

ນີ້ຈະຕິດຕັ້ງ Redis v4.0.2, ເຊິ່ງເປັນລຸ້ນທີ່ມີຄວາມ ໝັ້ນ ຄົງໃນປະຈຸບັນ (ໃນເວລາຂຽນນີ້) ແລະຮອງຮັບ PHP 7.1.

ມີລຸ້ນອື່ນຂອງ Redis. ທ່ານສາມາດກວດເບິ່ງພວກມັນໄດ້ທີ່ນີ້ແລະພຽງແຕ່ໃສ່ເບີທີ່ຕ້ອງການ.

** ໝາຍ ເຫດ: ທ່ານຕ້ອງຕິດຕັ້ງສ່ວນຂະຫຍາຍ Igbinary ກ່ອນຕິດຕັ້ງ Redis.

$ pecl ຕິດຕັ້ງ redis-4.0.2

ໃນລະຫວ່າງການຕິດຕັ້ງທ່ານຈະຖືກຖາມບາງ ຄຳ ຖາມ. ຕອບພວກເຂົາດັ່ງຕໍ່ໄປນີ້:

  • ເປີດໃຊ້ງານສະຫນັບສະຫນູນ ສຳ ລັບ serializer igbinary? [ບໍ່ມີ
  • ເປີດໃຊ້ງານສະ ໜັບ ສະ ໜູນ ການບີບອັດ LZF ບໍ? [ບໍ່ມີ]: ບໍ່

ແກ້ໄຂການຕັ້ງຄ່າການຕັ້ງຄ່າ PHP

ຫຼັງຈາກທີ່ພວກເຮົາໄດ້ຕິດຕັ້ງສ່ວນຂະຫຍາຍທີ່ ຈຳ ເປັນທັງ ໝົດ ແລ້ວ, ພວກເຮົາສາມາດເຮັດບົດສະຫຼຸບບາງຢ່າງໃນແຟ້ມ php.ini ເພື່ອສະພາບແວດລ້ອມການພັດທະນາຂອງພວກເຮົາ

$ ເປີດ -e /usr/local/etc/php/7.1/php.ini

ຊອກຫາແລະຖອດສາມເສັ້ນນີ້ທີ່ຖືກເພີ່ມຢູ່ເທິງສຸດຂອງແຟ້ມ php.ini ໃນຂັ້ນຕອນກ່ອນ ໜ້າ ນີ້. ພວກເຮົາຈະເພີ່ມພວກມັນອີກໃນໄວໆນີ້:

ນາມສະກຸນ = "redis.so" extension = "igbinary.so" zend_extension = "xdebug.so"

ເລື່ອນໄປທາງທ້າຍຂອງແຟ້ມ php.ini ແລະເພີ່ມສາຍຕໍ່ໄປນີ້:

; ຕົວແປ USER-DEFINED short_open_tag = ຈາກ expose_php = ຈາກຂໍ້ຜິດພາດ_reporting = E_ALL & ~ E_STRICT display_errors = ມີຂໍ້ຜິດພາດ_log = "/usr/local/log/php/php_errors.log" upload_tmp_dir = "/ tmp /" allow_url_fugion = " .so "xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_host = localhost xdebug.remote_handler = dbgp xdebug.remote_port = 9000 [redis] extension =" igbinary.so "ການຂະຫຍາຍ =" redave.shandler " redis "session.save_path =" tcp: //127.0.0.1: 6379? ນ້ ຳ ໜັກ = 1 & ໝົດ ເວລາ = 2.5 "

ບັນທຶກແລະອອກຈາກຕົວແກ້ໄຂຂໍ້ຄວາມ.

Restart Apache:

$ sudo apachectl -k ເລີ່ມຕົ້ນ ໃໝ່

ເປີດໂປແກຼມທ່ອງເວັບຂອງທ່ານແລະ ນຳ ທາງໄປທີ່ http: // localhost ຂອງທ່ານ. ຫນ້າຂໍ້ມູນ PHP ຂອງທ່ານຄວນຈະປາກົດ. ເລື່ອນລົງແລະທ່ານຄວນຈະເຫັນທຸກຂໍ້ມູນການຂະຫຍາຍ PHP ທີ່ຕ້ອງການ ສຳ ລັບ igbinary, Redis ແລະ XDebug ພ້ອມດ້ວຍຕົວເລກເວີຊັນທີ່ຖືກຕ້ອງທີ່ທ່ານຕິດຕັ້ງໃນຂັ້ນຕອນກ່ອນ ໜ້າ ນີ້.

ຊົມເຊີຍ! ດຽວນີ້ທ່ານມີ Apache ແລະ PHP ທີ່ມີສ່ວນຂະຫຍາຍທີ່ກ່ຽວຂ້ອງໃນສະພາບແວດລ້ອມການພັດທະນາ Mac ຂອງທ່ານ.