Среда разработки php linux
Установка окружения для разработки PHP на macOS и Linux
Настройка окружения PHP-разработчика в macOS
Пакетный менеджер
Скачивать и устанавливать весь требуемый софт мы будем с помощью пакетного менеджера 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-сценарий и мы видели результат его работы в браузере.
Откройте конфигурационный файл nginx:
Добавим в конец документа перед закрывающей скобкой от блока http следующий код:
USERNAME нужно будет в двух местах заменить на имя вашего пользователя
Разрешим nginx читать содержимое нашего проекта
(*)Поменяйте USER на имя вашего пользователя и yeticave на папку вашего проекта
Для того, чтобы изменения применились на 80 порт, нужно перезагрузить сервер с доступом администратора командой:
Установка xdebug
Установить xdebug можно простой командой:
Проверка работы
Базовая настройка окружения закончена. Осталось проверить, что мы всё сделали правильно.
Создадим тестовый PHP-сценарий со следующим содержимым:
Установка MySQL в macOS
Актуальную версию MySQL для macOS можно загрузить с официальной страницы. Для удобства установки рекомендуется загружать DMG Archive. В этом случае процесс установки будет выполняться с помощью стандартного инсталлятора.
Рисунок 1. Окно инсталлятора
Рисунок 2. Выбор компонент для установки
Рисунок 3. Автоматически сформированный пароль
Рисунок 4. Окно System Preferences
Рисунок 5. Аплет запуска MySQL
Чтобы протестировать соединение с MySQL и получить возможность выполнять базовые задачи, вам потребуется фирменная утилита от Oracle — MySQL Workbench. Установка утилиты выполняется стандартным для macOS способом: запускаем загруженный DMG и в окне инсталлятора перетаскиваем иконку MySQL Workbench в папку Application.
Для тестирования корректности установки MySQL запустим MySQL Workbench и попробуем установить соединение.
Рисунок 6. Главное окно MySQL Workbench
Рисунок 7. Соединение с MySQL установлено
Установка на Linux
Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых способов: настройка связки PHP плюс nginx.
Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений.
Установка PHP
Последним компонентом в настройке рабочего окружения станет PHP.
В окне терминала введите команду для установки php-fpm из репозитория.
Настройка xdebug
Сохраняем изменения ctrl + o и закрываем редактор nano ctrl + x.
10 лучших сред разработки (IDE) для Linux
Программирование (а точнее кодинг) — это, по сути, постоянный набор текста, поэтому очень важно найти хороший редактор, обеспечивающий комфортные условия для написания кода. Многие начинают с простых текстовых, но потом переходят на IDE (интегрированная среда разработки), поскольку IDE делает создание кода более удобным и быстрым с помощью автоматического дополнения, всплывающих подсказок, информации о возможных ошибках и средств отладки. Сегодня рассмотрим топ-10 сред разработки для Linux.
Для тех, кто не в курсе Linux — это open-source операционная система, которая используется по всему миру на компьютерах, серверах, в игровой сфере и т.д. Ее очень любят за безопасность, стабильность, конфиденциальность, продвинутый контроль + здесь подавляющая часть приложений бесплатны. Она предоставляет программистам некоторые преимущества — тот, кто умеет программировать в Linux, сможет без проблем построить карьеру в области системного администрирования и получить хорошую должность на рынке (такие знания будут отличным плюсом в резюме).
Хотя, если говорить о программировании в целом, то не особо важно какой ОС вы пользуетесь — многие из представленных ниже сред разработки под Linux отлично подходят и для Win/Mac. Сейчас даже можно найти разные компиляторы в сети, например запустить то же python онлайн для решения каких-то задач. Хотя локально работать все же быстрее и удобнее.
Выбор того или иного варианта зависит от ваших предпочтений. В списке находятся не все доступные программные продукты и он не является каким-то рейтингом — воспринимайте статью как перечень одних из лучших IDE для Linux, с которыми следует ознакомиться в первую очередь.
1. Eclipse
Бесплатный редактор с открытым кодом, созданный для тяжелой разработки на Java. Может работать с языками программирования: Ruby, Java, C, Perl, Python, PHP, C++ и другие.
2. Bluefish
3. NetBeans
Бесплатная и открытая IDE от Sun Microsystems. Поддерживает такие ЯП как: Java, Python, C++, C, Ruby, PHP, JavaScript.
4. Zend Studio
PHP программисты используют Zend для быстрого написания кода, легкого решения проблем и свободного интегрирования в облако. Zend Studio, PHP Unit и Composer образуют одно целое и становятся мощным инструментом для мобильных и PHP разработчиков.
Работает с такими языками как: HTML, PHP, JavaScript.:
5. Komodo IDE
Эта IDE под Linux, созданная в Mozilla, заслужила множество наград. Поддерживает языки программирования: Python, PHP, HTML, Perl, RHTML, C, CSS, C++, JS, Ruby, Django. Основные фишки:
Цена: обычная и образовательная лицензии — бесплатны, а персональная и предпринимательская версии — по 89 и 295 долларов соответственно.
6. Anjuta
Универсальная IDE, которая включает в себя ряд расширенных возможностей, таких как мастер приложений, редактор исходного кода, управление проектами и версиями, профилировщик, отладчик, дизайнер графического интерфейса и другие инструменты. Anjuta предоставляет простой графический интерфейс и достаточные мощности для систематической разработки. Поддержка языков: C и C++.
7. MonoDevelop
Может работать с языками: VB, C, C++, Python, C#, Java.
8. CodeLite
Бесплатный проект с открытым исходным кодом для разработки на C++ и C под разные платформы. Полезные фишки:
9. Kdevelop
Полноценная и расширяемая IDE для C, C++, PHP и Ruby. Основные преимущества:
10. Geany
Хотя Geany имеет базовые возможности IDE, он является текстовым редактором, который работает на GTK2 библиотеке. Он был спроектирован так, чтобы стать маленькой и быстрой IDE. Поддерживаемые языки: HTML, PHP, Java, C, Perl, Pascal, Python.
Как уже сказал выше, были рассмотрены далеко не все среды разработки для Linux, есть и другие хорошие решения: IDE от JetBrains, Code::Blocks и Qt Creator. Расскажите в комментариях ниже о тех приложениях, что вы используете у себя.
Список полезных инструментов для php разработчика
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Акселераторы
eAccelerator
Бесплатный свободный PHP акселератор, оптимизатор, и динамический кэш. Он увеличивает производительность PHP скриптов, кешируя их в их скомпилированном виде. Также оптимизация увеличивает скорость работы скриптов. eAccelerator обычно уменшает нагрузку на сервер и увеличивает скорость PHP кода в 1-10 раз.
ionCube PHP Accelerator
ionCube PHP Accelerator это легко устанавливаемое PHP Zend расширение, которое кеширует PHP код, и способное существенно ускорить PHP скрипты без изменений в самом коде.
Windows Cache Extension for PHP
Модуль для IIS7 выполняющий функции PHP акселератора.Поддерживает PHP 5.2 и 5.3. Кеширует php байткод в память
Alternative PHP Cache
Бесплатная и открытая система для кэширования предкомпилированных PHP скриптов, позволяет значительно увеличить производительность PHP скриптов выполняющихся из под mod_php.
Билд системы
Phing
Билд система основанная Apache Ant. Позволяет делать все, что можно делать с традиционными билд системами, такими как GNU make. Использует простой XML для билд файлов и расширяемые PHP классы задач. Позволяет запускать PHPUnit and SimpleTest юнит тесты, делать обработку файлов (т.е. замены токенов, XSLT трансформацию и т.д.), операции с файловой системой, интерактивная сборка проекта, выполнение SQL кода, CVS/SVN операции, создание PEAR пакетов, и многое другое.
BeautifyPHP
Beautify PHP полностью бесплатный сервис, форматирующий PHP код в соответствии со стандартами PEAR.
PHP Beautifier
Эта программа переформатирует файлы PHP 4 и PHP 5 автоматически.
PHP Object Generator (POG)
Open source генератор PHP кода, автоматически генерирующий объектно-ориентированные классы (PHP4/PHP5) для доступа к базе данных с CRUD методами.
UML2PHP5
UML2PHP5 это плагин разработанный для приложения построения диаграмм DIA. Автоматически генерирует PHP код, соответствующий диаграммам.
Instant SQL Formatter
Instant SQL Formatter — бесплатный онлайн сервис для форматирования SQL кода. Также может переводить SQL код в C#, Java, PHP, DELPHI и другие языки (в виде строк). Позволяет вывести список объектов базы в SQL коде, таких как таблицы, колонки, функции.
phpMyEdit
Редактор таблиц MySQL и генератор кода PHP. Основные возможности phpMyEdit: генерация кода изменения таблиц; добавление записей, изменение, просмотр, копирование и удаление; сортировка, фильтрация и разбивка на страницы для таблиц; запросу в другие таблицы (связь один ко многим); конфигурация прав доступа; различные возможности навигации; дизайн, настраиваемый с помощью CSS; логгирование действий пользователей; многоязычность.
PHP Obfuscator
Обфусцирует PHP код. Не требует дополнителных установленных на сервере библиотек и компонентов. Позволяет обфусцировать функции, переменные и удалять пробелы.
Code Eclipse
PHP обфускатор, превращающий обычный PHP код в ужасный, нечитаемый код с минимальными потерями в скорости выполнения и без всяких потерь в совместимости.
База данных
Отладка
Xdebug Debugger and Profiler Tool
Xdebug это расширение для отладки php-скриптов, которое написал Derick Rethans, один из разработчиков языка PHP. Xdebug предоставляет следующую информацию: стек вызовов функций, распределение памяти. Возможности Xdebug: профайлинг, анализ покрытия кода, защита от бесконечной рекурсии, интерактивная отладка скриптов. You should also check: Webgrind – веб-интерфейс для профайлинга Xdebug, написанный на PHP, MacGDBp – Mac OS X клиент, который позволяет отлаживать PHP приложения при помощи Xdebug.
FirePHP
FirePHP дает возможность посылать отладочные сообщения в консоль Firebug с помощью вызова php методов. Вся информация посылается через заголовки X-FirePHP-Data, тем самым не пересекаясь с основным контентом страниц.
DBG – PHP Debugger and Profiler
DBG это полноценный, интерактивный PHP отладчик. Он может работать на тестовом или/и рабочем сервере и позволяет отлаживать скрипты локально или удаленно, из IDE или из консоли.
PHP Debug
Помогает в отладке PHP кода, показывает путь выполнения скрипта, отображает все переменные, время выполнения, включенные файлы, выполненные запросы, watch переменные… Эта информация собирается во время выполнения скрипта, и отображается по его завершению и потом может быть использована в любой момент.
Еще: Debuglib, Krumo
Разработка
PHP CodeSniffer
PHP CodeSniffer это PHP5 скрипт проверяет код на соответствие стандартам кодирования. Может помочь предотвратить распространённые семантические ошибки, допускаемые разработчиками. Легко интегрируется с SVN для проверки кода перед коммитом.
phpDocumentor
Аналог Javadoc, написанный на PHP, phpDocumentor может быть вызван из командной строки или веб-интерфейса для создания документации из php кода. phpDocumentor поддерживает связь между документацией, соединяя документа уровня пользователя, такие как туториалы и создание подсвеченного кода с кросссылками на обычную PHP документацию.
Doxygen
Doxygen — это кроссплатформенная система документирования исходных текстов, которая поддерживает PHP (а также множества других языков).
Doxygen генерирует документацию на основе набора исходных текстов и также может быть настроен для извлечения структуры программы из недокументированных исходных кодов. Возможно составление графов зависимостей программных объектов, диаграмм классов и исходных кодов с гиперссылками.
PHP Depend
PHP Depend это анализатор и измерительный инструмент, который может предоставить множество полезный информации об PHP проекте. PHP Depend генерирует большое количество метрик, полученные значения могут быть использованы для определения качества проекта и его частей, нуждающихся в рефакторинге.
phpLangEditor
Firefox add-on упрощающий перевод языков файлов и переменных в PHP скриптах.
IDE & Редакторы
NetBeans
NetBeans — бесплатная, быстрая, кросс-платформенная IDE, которая хорошо понимает язык PHP. В ней приятно писать PHP-код, потому что присутствует все необходимые для этого инструменты — подсветка, дополнение кода из всех подключенных файлов, браузер классов PHP, всплывающая документация по стандартным функциям и так далее. NetBeans умеет скачивать и закачивать файлы на удаленные сервера по FTP и SFTP, имеет развитый SQL-терминал и полностью автоматизирует работу с SVN или CVS.
Aptana PHP Development Environment
IDE снабжена средствами контекстной подсказки, автодополнения кода, подсветки и проверки синтаксиса, имеет встроенный отладчик и автогенератор типовых блоков кода. Среда поддерживает разработку Ajax-приложений, имеет средства для визуальной навигации по коду, поддержания списка задач (Todo) и подготовки документации к проекту. Интегрированный в среду web-сервер позволяет мгновенно оценить результат работы. Встроенные средства тестирования поддерживают возможность оценки отображения подготовленного проекта в различных версиях web-браузеров. Aptana PHP выполнена в виде модуля для Eclipse или для специализированной среды Aptana Studio, построенной на базе Eclipse.
PHPEclipse
PHPEclipse – это плагин для эклипс со следующими возможностями: подствека синтаксиса, парные скобки, сворачивание кода, автодополнение кода, интеграция php документации, шаблоны кода, поддержка DBG и XDebug, поддержка CVS & SVN++.
Zend Studio
Zend Studio — профессиональная среда для разработки и отладки веб-проектов. Отличительной особенностью программы является возможность удаленной отладки и профайлинга. В состав Zend Studio в качестве опции входит пакет PHP вместе с обширным списком предварительно скомпилированных расширений. Также в пакет среды входит Zend Optimizer, являющийся серверным модулем для запуска закодированных с помощью Zend Encoder и Zend SafeGuard Suite скриптов, а также немного их ускоряющий. В седьмой версии Zend Studio появилась поддержка PHP 5.3, интеграция с Zend Framework и Zend Server, улучшено редактирование исходного кода и различные улучшения производительности программы.
PHPanywhere
PHPanywhere – это онлайн PHP-редактор. Работает на Ext JS. Все необходимые функции присутствуют — подсветка, кодировки и т.д. Пользование сервисом совершенно бесплатно и требует лишь регистрации.
VS.Php For Visual Studio
VS.Php — это интегрированная среда разработки, основанная на Visual Studio IDE и позволяющая разрабатывать, создавать, отлаживать и внедрять PHP приложения на профессиональном уровне, используя все возможности, предлагаемые VisualStudio.Net. Редактор PHP-кода обладает большой функциональностью, предоставляя доступ к встроенным функциям PHP, а так же написанным функциям и классам..
NuSphere PhpED
NuSphere PhpED — это профессиональная интегрированная среда обработки, предназначенная для того, чтобы формировать приложения с использованием баз данных и PHP, HTML, XML, CSS. Устойчивый редактор кода, отличная система подсветки кода в языках PHP, XML, XHTML, HTML, CSS и javascript, мощный PHP отладчик, профилировщик и издатель — все в одном.
Программа также включает интегрированную базу данных и клиенты CVS, сервисы SOAP, валидатор HTML и инструментальные средства Форматера Кода, поддержка работы с Smarty, редактор Unicode, SFTP поддерживается для безопасных загрузок и закачек, Telnet, SSH терминалы для удаленного администрирования, поддержка функциональных возможностей MySQL, Oracle, MSSQL SQLite, Interbase, поддержка анализа ошибок, графический интерфейс пользователя полностью настраиваемый, анализатор PHP кода и многое другое
Eclipse PDT
PDT (PHP Development Tools) — плагин Eclipse, предназначенный для PHP-разработчиков. Является намного более чем просто достойной бесплатной заменой Zend Studio и NuSphere PhpED. Дистрибутив pdt-all-in-one включает в себя платформу Eclipse и все необходимые плагины для разработки на языке PHP
Jetbrains Web IDE EAP
JetBrains Web IDE это IDE для веб программирования. Она построена на основе платформы JetBrains IDE Framework.Web IDE доступна в двух вариантах: в стандартный вариант включена поддержка HTML, CSS, Javascript. В PHP Developer edition добавляется поддержка PHP и SQL.
Безопасность
PHP Intrusion Detection System (PHPIDS)
PHPIDS — это легкая в использовании, хорошо структурированная, быстрая система обнаружения атак. На данный момент умеет ловить всевозможные виды XSSы, SQL инъекции, расщепления запроса, проход по директориям, RFE/LFI, DoS и LDAP инъекции. Справляется с обфусцированными атаками на базе юникодов, кодировок и т.п. Подключается к проекту как библиотека, принимает на вход массив со всеми входными данными, которые требуют проверки, возвращает объект с информацией об обнаруженных во входных данных попытках атаки и степени риска по каждой из них, на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
PhpSecInfo
PhpSecInfo добавляет эквивалент функции phpinfo() который предоставляет информацию о безопасности PHP окружения, и дает советы по улучшению. Это не замена техник безопасной разработки, и не делает никаких видов аудита кода или приложений.
Установка
PHPConfig
Графическая оболочка для настройки php через файл php.ini. Поддерживает всю стандартную функциональность, и имеет специальную закладку для плагинов.
Lighty2Go
Lighty2Go это портабельная версия LightTPD, MySQL & PHP (LiMP) для Windows.
PAMP
Personal AMP – Apache, MySQL and PHP – комплект для мобильных телефонов S60.
WampServer
Позволяет установить Apache, PHP и MySQL на Windows. В комплекте идет PHPMyAdmin для управления базой. WampServer умеет работать с различными версиями PHP, MySQL и Apache, и переключаться между ними.
Server2Go
Вебсервер не требующий инсталляции и работающий на носителях, защищенных от записи. Может быть использован прямо с CD диска, с USB флешки или просто папки на жестком диске без головной боли от конфигурирования PHP, Apache и MySQL.
Denwer
Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера — удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.
XAMPP
XAMPP — это php, mysql, apache + perl модулем + filezilla + eAccelerator + еще различные плюшки. Существуют версии под Windows, Linux, MacOS и Solaris.
Еще :AppServ
Тестирование
PHPUnit
PHPUnit является одним из семейства тестирующий фреймворков xUnit и упрощает написание тестов, так же как и их запуск и анализ результатов.
SimpleTest
SimpleTest это аналог JUnit/PHPUnit. Поддерживает mock объекты и может быть использован для автоматизации регрессионного тестирования веб приложений. Это возможно при помощи скриптабельного HTTP клиента, парсящего страницы и симулирующего такие вещи, как переход по ссылкам и отправка форм.
vfsStream
vfsStream это обертка для потоков файловой, полезная при юнит тестировании для создания mock объектов файловой системы. Можно использовать совместно с любым тестирующим фреймворком, например SimpleTest или PHPUnit.
Непрерывная интеграция
phpUnderControl
phpUnderControl это аддон для системы автоматической сборки CruiseControl, который содержит некоторые из лучших средств разработки на PHP. Проект нацелен на то, чтобы первые шаги с PHP и CruiseControl были как можно проще. К phpUnderControl прилагается утилита для модификации существующей развернутой системы CruiseControl.
Xinc
Xinc это сервер непрерывной интеграции написанный на PHP 5. Имеется встроенная поддержка Subversion и Phing (то есть и PHPUnit), и может быть легко модифицирован для поддержки других систем контроля версий и билд систем.