نحوه نصب PHP در MacOS 10.13 High Sierra و 10.14 Mojave با homebrew و PECL

بخش دوم از یک سری دو قسمت برای تنظیم یک محیط توسعه Apache / PHP تحت macOS

این مقاله برای توسعه دهندگان وب است که می خواهند Apache و PHP به عنوان بخشی از محیط توسعه خود در Mac خود نصب شوند.

قسمت اول را حتما ببینید. پیش نیاز این مقاله مقاله من در مورد نصب آپاچی تحت macOS 10.13 High Sierra و 10.14 Mojave با homebrew است.

در گذشته به نسخه Apache و PHP که با سیستم عامل در MacBook Pro من از قبل نصب شده بود اعتماد داشتم. سپس برنامه های افزودنی PHP مورد نیاز (مانند Xdebug ، Redis و غیره) را از Homebrew نصب می کنم.

از تاریخ 1 آوریل 2018 ، Homebrew رویکرد "homebrew / PHP" را به نفع یک رویکرد جدید "homebrew / core" رد کرده است. اگرچه برخی از برنامه های افزودنی مهم هنوز پشتیبانی می شوند (به عنوان مثال MySQLi) ، اکثر برنامه های افزودنی PHP دیگر از طریق homebrew (به عنوان مثال php71-xdebug ، php71-redis و غیره) توزیع نمی شوند و باید از طریق PECL (انجمن پیوند PHP) کتابخانه) قابل نصب است. ،

با توجه به قوانین امنیتی همیشه در حال تغییر در macOS و عوارض استفاده از نسخه نصب شده PHP از macOS با 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 را ایجاد کنید

پی اچ پی با فهرست های ورود به سیستم از پیش تنظیم شده است ، اما ما پوشه خود را "/ usr / local / log /" ایجاد می کنیم تا در صورت لزوم پیدا کردن آن آسان باشد. برای ایجاد فهرستهای مناسب و تنظیم مجوزهای آنها ، مراحل زیر را دنبال کنید. پیام های موجود را از قبل نادیده بگیرید.

$ sudo mkdir / usr / local / log
$ sudo mkdir / usr / local / log / php
$ sudo chgrp -R کارمندان / usr / local / log / php
$ sudo chmod -R ug + w / usr / local / log / php /

پی اچ پی را نصب و پیکربندی کنید

در اواخر ماه مارس 2018 ، تمام نان های مرتبط با PHP توسط صفحه خانگی homebrew / php به کار گرفته شده بودند ، اما این قدیمی است. اکنون ما از اجزای موجود در بسته homebrew / core استفاده می کنیم. این باید بهتر حفظ شود ، اما مجموعه ای از بسته های کاملاً کمتری است.

$ brew install php@7.1

لطفاً توجه داشته باشید که برای نصب سایر نسخه های PHP (به عنوان مثال php@7.2) می توانید تعداد نسخه را به سادگی تغییر دهید. همچنین می توانید چندین نسخه PHP را همزمان انجام دهید و بین آنها جابجا شوید. با این حال ، این سند به طور خاص برای نصب و پیکربندی PHP 7.1 تهیه شده است.

پرونده جدید php.ini شما در فهرست زیر قرار دارد:

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

ماژول مورد نیاز Apache را فعال کنید

حال برای استفاده از ماژول PHP که به تازگی نصب شده است ، باید Apache را پیکربندی کنیم. برای این کار ، باید فایل httpd.conf را که در قسمت 1 این مجموعه نصب کردیم ، ویرایش کنیم:

$ open -e /usr/local/etc/httpd/httpd.conf

به انتهای ورودیهای LoadModule بروید و بعد از خط ماژول mod_rewrite خط زیر را اضافه کنید:

(توجه داشته باشید که دستور زیر یک خط واحد است که به دلیل محدودیت عرض صفحه به متوسط ​​بسته بندی شده است. حتماً کل خط را کپی کنید.)

LoadModule php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so

فهرست فهرست و کنترل کننده پرونده را تنظیم کنید

شما همچنین باید به طور صریح فهرستهای فهرست را برای PHP تنظیم کنید ، بنابراین به دنبال بلوک متن زیر باشید:

 indexIndex index.html 

... و سپس سطرهای زیر را انتخاب و جایگزین کنید:

indexIndex index.php index.html برنامه SetHandler / x-httpd-php

ویرایشگر متن را ذخیره کرده و از آن خارج شوید.

برای شروع سرویس PHP دستور زیر را در Terminal وارد کنید و از شروع مجدد اطمینان حاصل کنید:

سرویس های دلاری $ php@7.1 شروع می شود

نصب PHP را بررسی کنید

برای آزمایش اینکه PHP مطابق پیش بینی نصب شده و در حال اجرا باشد ، پرونده ای به نام index.php را در پوشه Sites که در قسمت 1 این سری دو قسمت ایجاد کرده اید ایجاد کنید:

$ پژواک " ~ / سایت ها / index.php

راه اندازی مجدد Apache:

شروع مجدد $ sudo apachectl -k

اکنون مرورگر خود را کاملاً به روز کنید (یا مرورگر خود را ببندید و از آن خارج شوید و مجدداً راه اندازی کنید). سپس به میزبان محلی خود بروید و باید یک صفحه اطلاعات 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/php@7.1/ خود بررسی کنید تا چیز دیگری باشد.

صادرات PATH = $ PATH: /usr/local/Cellar/php@7.1/7.1.22/bin/

با این کار دایرکتوری PHP شما به مسیر سیستم شما اضافه می شود و bash را دوباره راه اندازی می کند. شما باید خوب باشید برای رفتن!

ترمینال را باز کنید و دستور زیر را وارد کنید. به جای "فرمان یافت نشد" ، باید لیست گزینه ها ظاهر شود. وقتی لیستی از گزینه ها را می بینید ، خوب است که بروید.

$ 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 نیز وجود دارد. می توانید آنها را از اینجا بررسی کنید و به سادگی شماره نسخه مورد نظر را وارد کنید.

** توجه: قبل از نصب Redis باید پسوند Igbinary را نصب کنید.

$ pecl نصب igbinary-2.0.6

این یک خط در بالای فایل php.ini شما وارد می کند ، که ما بعد از نصب Redis و پسوند آن را اصلاح خواهیم کرد.

Redis را نصب کنید

ابتدا عنصر سرور Redis را برای محیط توسعه ما نصب کنید.

$ brew install redis را نصب کنید

پس از اتمام کار ، Redis را راه اندازی کنید و آن را مجدداً راه اندازی مجدد کنید.

سرویس های تولید دم $ دوباره شروع می کنند

Redis PHP Extension را نصب کنید

با این کار Redis v4.0.2 نصب خواهد شد که نسخه پایدار فعلی (در زمان نوشتن) است و از PHP 7.1 پشتیبانی می کند.

نسخه های دیگری از Redis نیز وجود دارد. می توانید آنها را از اینجا بررسی کنید و به سادگی شماره نسخه مورد نظر را وارد کنید.

** توجه: قبل از نصب Redis باید پسوند Igbinary را نصب کنید.

$ pecl install redis-4.0.2

در حین نصب از شما سؤالی پرسیده می شود. به آنها به شرح زیر پاسخ دهید:

  • پشتیبانی از سریالایزر را فعال کنید؟ [نه بله
  • پشتیبانی از فشرده سازی LZF را فعال می کنید؟ [نه نه

تنظیمات پیکربندی PHP را ویرایش کنید

پس از نصب تمام برنامه های افزودنی لازم ، می توانیم ورودی های نهایی را در پرونده php.ini برای محیط توسعه خود ایجاد کنیم.

$ open -e /usr/local/etc/php/7.1/php.ini

این مراحل را که در مراحل قبل اضافه شده است در بالای فایل php.ini اضافه کنید و حذف کنید. ما به زودی دوباره آنها را اضافه خواهیم کرد:

پسوند = "redis.so" پسوند = "igbinary.so" zend_extension = "xdebug.so"

به انتهای پرونده php.ini بروید و خطوط زیر را اضافه کنید:

؛ متغیرهای USER-DEFINED short_open_tag = از expose_php = از error_reporting = E_ALL & _ E_STRICT display_errors = یک خطای_log = "/usr/local/log/php/php_errors.log" upload_tmp_dir = "/ tmp /" perm_url_ion .so "xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_host = localhost xdebug.remote_handler = dbgp xdebug.remote_port = 9000 [redis] پسوند =" igbinary.so "پسوند =" redave.shandler " redis "session.save_path =" tcp: //127.0.0.1: 6379؟ وزن = 1 و زمان بندی = 2.5 "

ویرایشگر متن را ذخیره کرده و از آن خارج شوید.

راه اندازی مجدد Apache:

شروع مجدد $ sudo apachectl -k

مرورگر خود را باز کنید و به http: // localhost خود بروید. صفحه اطلاعات PHP شما باید ظاهر شود. به پایین بروید و باید تمام اطلاعات الزامی پسوند PHP را برای شماره های igbinary ، Redis و XDebug با شماره های نسخه صحیح که در مراحل قبلی نصب کرده اید مشاهده کنید.

تبریک می گویم! اکنون Apache و PHP با پسوندهای مرتبط با محیط توسعه Mac خود دارید.