- Установка окружения для разработки PHP на macOS и Linux
- Настройка окружения PHP-разработчика в macOS
- Пакетный менеджер
- Установка PHP
- Установка веб-сервера
- Использование веб-сервера из редактора
- Установка nginx
- Интеграция PHP и веб-сервера
- Установка xdebug
- Проверка работы
- Установка MySQL в macOS
- Установка на Linux
- Установка PHP
- Настройка xdebug
- yehgdotnet / install_phpzip.md
- This comment has been minimized.
- kk-gjyang commented Mar 31, 2020
- This comment has been minimized.
- yehgdotnet commented Mar 31, 2020
- This comment has been minimized.
- dniccum commented Apr 3, 2020
- This comment has been minimized.
- yehgdotnet commented Apr 3, 2020
- This comment has been minimized.
- ghost commented Apr 6, 2020
- This comment has been minimized.
- Ottergoose commented Aug 7, 2020
- This comment has been minimized.
- zotopteam commented Sep 11, 2020 •
- Question: Q: php 7.3.8 zip extension missing From macOS 10.15 Catalina
- Helpful answers
Установка окружения для разработки PHP на macOS и Linux
22 августа 2017
Настройка окружения PHP-разработчика в macOS
Как установить и настроить все необходимые компоненты, чтобы подготовить свой мак к полноценной разработке на PHP.
Пакетный менеджер
Скачивать и устанавливать весь требуемый софт мы будем с помощью пакетного менеджера Homebrew.
Пакетный менеджер — это инструмент, который значительно облегчает процесс установки любых программ. С Homebrew установка программы на компьютер сводится буквально к одной команде в терминале.
Но сам Homebrew тоже требуется установить, так как по умолчанию он не входит в состав операционной системы.
Понятная инструкция по его установке есть на главной странице этой программы. Выполните её и переходите к следующему шагу.
Установка PHP
Начнём с установки PHP-интерпретатора.
Все последующие команды выполняются через терминал.
Установить интерпретатор можно через одну простую команду:
Проверим, что всё установилось корректно:
Установка веб-сервера
PHP — это язык программирования, на котором можно создавать современные сайты. Обработкой запросов пользователей и отдачей им запрошенных страниц занимаются специальные программы — веб-сервера.
PHP работает в тесной связке с веб-сервером, так как именно последний обращается к нему и, в конечном счёте запускает наши сценарии. В общем, без веб-сервера нам никак не обойтись.
Поднять веб-сервер можно с помощью плагинов для редактора или настроить веб-сервер самостоятельно. Рассмотрим оба варианта.
Использование веб-сервера из редактора
Современные редакторы могут самостоятельно запускать сервер. В VS Code это можно сделать через плагин PHP Server, а в PHP Storm через — PHP Debug Server. По ссылкам есть инструкция с настройками. Для того, чтобы сервер стартовал, нужно чтобы локально был установлен php интерпретатор.
Установка nginx
Рассмотрим как установить веб-сервер самостоятельно.
Установим последнюю версию nginx:
Запускаем nginx, чтобы он работал в фоне и обслуживал наши запросы:
Проверяем, что всё установилось корректно, и nginx успешно работает на нашем компьютере:
откройте любой браузер и введите в адресной строке следующий URL:
в ответ вы должны увидеть страницу с текстом «Welcome to nginx!»
Интеграция PHP и веб-сервера
На этом шаге мы «подружим» PHP-интерпретатор и nginx, чтобы при запросе веб-страниц с расширением.php автоматически выполнялся php-сценарий и мы видели результат его работы в браузере.
Мы сделаем простую настройку сервера так, чтобы он слушал одну папку проекта и выдавал результат через запрос на страницу http://localhost/ .
Откройте конфигурационный файл nginx:
(*) nano — консольный текстовый редактор для Unix и Unix-подобных ОС. Вместо него файлы можно открывать в других редакторах, заменив на nano на phpstorm , code (нужно установить поддержку команды через редактор) для VS Code или другие.
Добавим в конец документа перед закрывающей скобкой от блока http следующий код:
USERNAME нужно будет в двух местах заменить на имя вашего пользователя
Здесь мы говорим серверу, чтобы он слушал 80 порт страницы localhost и при запросе показывал содержимое папки yeticave . После USERNAME вы можете выбрать путь до любой удобной для вас папки.
Разрешим nginx читать содержимое нашего проекта
(*)Поменяйте USER на имя вашего пользователя и yeticave на папку вашего проекта
Для того, чтобы изменения применились на 80 порт, нужно перезагрузить сервер с доступом администратора командой:
Установка xdebug
Установить xdebug можно простой командой:
Проверка работы
Базовая настройка окружения закончена. Осталось проверить, что мы всё сделали правильно.
Создадим тестовый PHP-сценарий со следующим содержимым:
Сохраните его по адресу вашего проекта, например, /Users/user/Sites/yeticave в файл index.php . Вновь откройте браузер и перейдите по ссылке http://localhost/index.php. Вы должны увидеть большую страницу с подробной информацией об установленной версии PHP и всех настройках. Это будет означать, что вы всё сделали правильно, а значит готовы писать и запускать свои первые php-сценарии. Обратите внимание, что все файлы и папки проекта при этой конфигурации должны лежать в корне папки yeticave .
Установка MySQL в macOS
Актуальную версию MySQL для macOS можно загрузить с официальной страницы. Для удобства установки рекомендуется загружать DMG Archive. В этом случае процесс установки будет выполняться с помощью стандартного инсталлятора.
Рисунок 1. Окно инсталлятора
Нажимаем Continue пока не дойдём до шага Installation Type . На этом шаге необходимо проверить перечень компонентов для установки. Нажимаем кнопку Customize . Отмечаем все флаги как на рисунке 2.
Рисунок 2. Выбор компонент для установки
Нажимаем Install . После установки отобразится всплывающее окно с автоматически сгенерированным паролем для пользователя root. Обязательно его запомните. Пример окна с автоматически сгенерированным паролем приведён на рисунке 3. Далее нажимаете кнопку Finish . На этом установка MySQL завершена.
Рисунок 3. Автоматически сформированный пароль
Сразу после установки служба MySQL не будет запущена. Запуск необходимо выполнить вручную. Проще всего это сделать через аплет System Preferences . Открываем и запускаем аплет для управления MySQL (рисунок 4). В появившемся окне нажимаем кнопку Start MySQL Server .
Рисунок 4. Окно System Preferences
Рисунок 5. Аплет запуска MySQL
Чтобы протестировать соединение с MySQL и получить возможность выполнять базовые задачи, вам потребуется фирменная утилита от Oracle — MySQL Workbench. Установка утилиты выполняется стандартным для macOS способом: запускаем загруженный DMG и в окне инсталлятора перетаскиваем иконку MySQL Workbench в папку Application.
Для тестирования корректности установки MySQL запустим MySQL Workbench и попробуем установить соединение.
Рисунок 6. Главное окно MySQL Workbench
В главном окне MySQL Workbench, в разделе MySQL Connections кликаем по автоматически подготовленному профилю Local instance . Появится окно ввода пароля. Вводите пароль, который вы сохранили на этапе установки. Если пароль верный, то появится окно с предложением указать текущий пароль и установить новый. Выполните это действие и нажмите Ok . В случае установки соединения вы увидите окно как на рисунке.
Рисунок 7. Соединение с MySQL установлено
Установка на Linux
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых способов: настройка связки PHP плюс nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений.
Рисунок 1. Окно терминала
Установка PHP
Последним компонентом в настройке рабочего окружения станет PHP.
В окне терминала введите команду для установки php-fpm из репозитория.
Важно: обязательно обратите внимание на устанавливаемую версию. В зависимости от дистрибутива она может отличаться. Например, в Ubuntu 16.04 устанавливается 7.0. Если номер версии отличается от той, что мы указали в конфигурационном файле yeticave.local , то необходимо её исправить.
Настройка xdebug
- Вводим команду редактирования файла:
- Добавляем в файл конфигурацию для xdebug.
Сохраняем изменения ctrl + o и закрываем редактор nano ctrl + x.
Источник
yehgdotnet / install_phpzip.md
thanks @kk-gjyang for the fix
This comment has been minimized.
Copy link Quote reply
kk-gjyang commented Mar 31, 2020
pecl install libzip didn’t work for me, use brew install libzip and it works.
This comment has been minimized.
Copy link Quote reply
yehgdotnet commented Mar 31, 2020
pecl install libzip didn’t work for me, use brew install libzip and it works.
Thanks for sharing.
pecl is insides MAMP directory — /Applications/MAMP/bin/php/php7.3.8/bin
This comment has been minimized.
Copy link Quote reply
dniccum commented Apr 3, 2020
This is the error that I got when trying to install libzip: No releases available for package «pecl.php.net/libzip»
This comment has been minimized.
Copy link Quote reply
yehgdotnet commented Apr 3, 2020
This is the error that I got when trying to install libzip: No releases available for package «pecl.php.net/libzip»
Thanks, Doug! I’ve corrected the original gist. Hope you rock with MAMP.
This comment has been minimized.
Copy link Quote reply
ghost commented Apr 6, 2020
It worked for me! Thanks
This comment has been minimized.
Copy link Quote reply
Ottergoose commented Aug 7, 2020
Appreciate the info here; helped me clear a roadblock in another project. Thank you!
This comment has been minimized.
Copy link Quote reply
zotopteam commented Sep 11, 2020 •
When using Mamp Pro, if you are using composer and encounter the following error,It’s possible that you didn’t really lose PHP ZIP and you don’t need to install it.
phpoffice/phpspreadsheet 1.14.1 requires ext-zip * -> the requested php extension zip is missing from your system.
You can try the following methods to check:
When switching between the PHP version of Mamp Pro, check the box on mamp pro
Make this version available on the command line
Exit and restart the terminal,input:
In this case, PHP on the command line is PHP with Mamp Pro instead of PHP with MAC OS,Then:
The point is that the following line:
Not that Mamp Pro does not have zip, but that the PHP that composer use is not PHP for Mamp Pro,The reason for this problem is the USE of PHP in Composer, which means you need to set the MAC environment variable to make Composer use MAMP PHP
For more information, open the Composer file and see the following code as the first line of the file
Источник
Question: Q: php 7.3.8 zip extension missing From macOS 10.15 Catalina
Any idea where to find and install? It wasn’t installed during installation of macOS 10.15 Catalina.
Thanks in advance. David
Posted on Oct 12, 2019 8:23 AM
Posted on Oct 24, 2019 2:00 PM
Helpful answers
Nope. And the recent supplemental update didn’t fix. I guess I’ll have to install php from php website which will create a second version on my mac.
Oct 17, 2019 6:25 AM
There’s more to the conversation
Loading page content
Page content loaded
i have this same problem.
the directory /usr/ is read only this causes the error.
looking for a solution
but it didn’t work with me
Oct 15, 2019 6:38 AM
Oct 15, 2019 6:47 AM
Issue is the zip extension is not part of the native macOS 10.15 installation. Apache, MySQL and most PHP works just fine. Issue only occurs when the zip extension is required. The guide isn’t helpful in this instance. I’d like to avoid installing a second version of PHP and then dealing with conflicts from having two installations.
Oct 15, 2019 6:57 AM
No one suggested a second installation. What exactly are you trying to do with a zip file? You don’t need a zip file to configure PHP in Catalina.
Oct 15, 2019 7:35 AM
Yes, I do need the php zip extension. I am using phpspreadsheet to create excel spreadsheets. That php add-on requires the zip extension in order to create xlsx files. The second installation would be a workaround for the missing extension in the php NOT installed as part of the macOS 10.15 Catalina installation.
There are several others who have this same issue and have so far been unsuccessful in adding just that extension.
Oct 15, 2019 7:50 AM
This sounds like a PHP/phpspreadsheet issue and not an Apple issue. The process and requirements are detailed here: https://phpspreadsheet.readthedocs.io/en/latest/
I never used this but I don’t think PHP Extensions is referring to .zip. I think it is referring to compiled libraries.
Oct 15, 2019 8:03 AM
No it is not a PHP/phpspreadsheet issue. Phpspreadsheet requires the php extension. There is a PHP zip extension and it is part of native php binaries. It just isn’t installed when installing Catalina. It should be.
Oct 15, 2019 8:01 AM
OK, I think you should ask in a PHP or phpspreadsheet help community.
Oct 15, 2019 8:06 AM
Did you find any solution about this?
Oct 17, 2019 2:53 AM
Nope. And the recent supplemental update didn’t fix. I guess I’ll have to install php from php website which will create a second version on my mac.
Oct 17, 2019 6:25 AM
Oct 24, 2019 2:00 PM
I haven’t tried this, but you should be able to create an /etc/php.ini file (see the default version) and specify an extensions_dir. The default is “./“ so that might mean the location of the php file. I don’t know. You should be able to change it to something and install your own extensions in that location.
Oct 24, 2019 2:14 PM
OK. Here is how you do this. The instructions haven’t changed, in principle, from what I posted in Setting up a local web server on macOS 10… — Apple Community. There, I just link to this site that describes the basic procedure. As you might expect, there are a few more complications than there were in 2011 with OS X Lion. Here is what you do:
- You’ll need the Command Line tools for this. If you don’t already have them, run “gcc” from the command line to trigger the install.
- Download php 7.3.8 from the usual place. Make sure to dig into the archives to get this exact version to match what is on Catalina.
- Expand the source. This will give you the source code to the zip module that you will need.
- You will need the autoconf module to build the module. You’ll have to download that from the usual place and install into /usr/local.
- You will also need libzip. Download that.
- Alas, libzip has been updated substantially since I last used it. It is now based on CMake!
- Download and install CMake.
- Hack up your environment and put path to the every-so-hacky cmake tool into your PATH. Don’t try to get clever with an alias. That won’t work. 😄
- Once you have CMake installed, you can build and install libzip using the simple 6-step CMake build procedure. So simple!
- Now go back to your php source for the zip module and build that. I’ll save you some effort and suggest that you use the following configure line:
Источник