Install php zip mac os

Установка окружения для разработки 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-сценарий со следующим содержимым:

Читайте также:  Как отключить быструю загрузку windows через командную строку

Сохраните его по адресу вашего проекта, например, /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. Окно терминала

  • Обновим локальный индекс пакетов APT
  • Для работы с PHP нам потребуется веб-сервер. В репозиториях доступно несколько популярных веб-серверов, мы отдадим предпочтение nginx. Помимо высокой производительности его легче конфигурировать.
  • Следующим шагом выполним запуска nginx. Запомните эту команду. Она вам пригодится при добавлении новых виртуальных хостов.
  • nginx установлен и теперь нам требуется выполнить базовое конфигурирование. Наша цель — создать новый виртуальный хост, который будет доступен по адресу yourproject.local , где вместо yourproject может быть название вашего проекта. Например: doingsdone.local , eticave.local . Обратите внимание, имена доменов не могут содержать пробелы. Определитесь с именем домена (далее «имя хоста для проекта»). Мы будем ориентироваться на проект yeticave.local , поэтому именно так будем называть конфигурационный файл. Перейдите в директорию sites-available . В этой директории, nginx хранит конфигурационные файлы всех виртуальных хостов. Чтобы увидеть список всех доступных виртуальных хостов, выведите содержимое каталога: Рисунок 2. Список доступных виртуальных хостов
  • Название конфигурационного файла должно совпадать с именем хоста. Поскольку мы планируем сделать конфигурационный файл для хоста yeticave.local , нам потребуется создать файл yeticave.local . Сделаем это:
  • Файл готов, теперь откроем его в консольном редакторе nano (установлен по умолчанию в большинстве современных дистрибутивов) и опишем минимальную конфигурацию.
  • Скопируйте в открытый файл yeticave.local ниже приведённый конфигурационный файл. Информацию обо всех непонятных строках вы сможете почерпнуть из официальной документации к nginx. Рисунок 3. Подготовка конфига Для сохранения изменений в файле нажмите комбинацию клавиш ctrl + o. Затем закройте редактор nano сочетанием клавиш ctrl + x.
  • Протестируем созданный конфигурационный файл на наличие ошибок: Рисунок 4. Тестирование конфигурационного файла nginx
  • На этом процесс создания конфигурационного файла завершён. Активируем только что созданный виртуальный хост. Для этого перейдём в директорию sites-enabled и создадим в ней символическую ссылку на наш конфигурационный файл.
  • Если на текущем шаге попытаться открыть браузер и ввести в адресной строке http://yeticave.local , то ничего, кроме ошибки «Сервер не найден», мы не увидим. Исправим проблему добавлением новой записи в hosts : В самом начале файле добавьте строку: Обратите внимание, мы пишем только доменное имя без указания протокола (http). Сохраняем изменения ctrl + o и закрываем редактор nano сочетанием клавиш ctrl + x .
  • Читайте также:  Очистка кэша пользователя windows

    Установка PHP

    Последним компонентом в настройке рабочего окружения станет PHP.

    В окне терминала введите команду для установки php-fpm из репозитория.

    Важно: обязательно обратите внимание на устанавливаемую версию. В зависимости от дистрибутива она может отличаться. Например, в Ubuntu 16.04 устанавливается 7.0. Если номер версии отличается от той, что мы указали в конфигурационном файле yeticave.local , то необходимо её исправить.

    Настройка xdebug

    1. Вводим команду редактирования файла:
    2. Добавляем в файл конфигурацию для 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.

    Читайте также:  Нехватка электропитания порта для usb windows

    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:

    1. 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.
    2. 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.
    3. Expand the source. This will give you the source code to the zip module that you will need.
    4. 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.
    5. You will also need libzip. Download that.
    6. Alas, libzip has been updated substantially since I last used it. It is now based on CMake!
    7. Download and install CMake.
    8. 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. 😄
    9. Once you have CMake installed, you can build and install libzip using the simple 6-step CMake build procedure. So simple!
    10. 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:

    Источник

    Оцените статью