- Проверка скрипта на ошибки php
- Get your PHP code bug-free and secure right from the IDE
- Improved PHP code security powered by Snyk Code
- Human-in-the-Loop PHP Code Checker
- Frequently asked questions
- Вчера всё работало, а сегодня не работает / Код не работает как задумано
- Debugging (Отладка)
- Важное замечание:
- Подготовка
- Для WINDOWS:
- Запуск
- Процесс
- Дополнительно
- Что такое PHP?
- Что такое онлайн PHP песочница?
- Могу ли я запустить PHP программу онлайн?
- Как проверить синтаксис PHP онлайн?
- Зачем нужно запускать PHP скрипт онлайн?
- Пример
- Sample valid php code
- Php error checking online
- Notes
- Most used PHP functions
- Last used PHP functions
- PHP syntax checker
- User guide
- PHP code checker tool
- API
Проверка скрипта на ошибки php
Get your PHP code bug-free and secure right from the IDE
This free code checker can find critical vulnerabilities and security issues in PHP code bases with a click. To take your application security to the next level, we recommend using Snyk Code for free right from your IDE.
Improved PHP code security powered by Snyk Code
This free web based PHP code checker is powered by Snyk Code. Sign up now to get access to all the features including vulnerability alerts, real time scan results, and actionable fix advice within your IDE.
Human-in-the-Loop PHP Code Checker
Snyk Code is an expert-curated, AI-powered PHP code checker that analyzes your code for security issues, providing actionable advice directly from your IDE to help you fix vulnerabilities quickly.
Scan and fix source code in minutes.
Fix vulns with dev friendly remediation.
Find vulns early to save time & money.
Integrates into existing workflow.
Comprehensive semantic analysis.
Modern ML directed by security experts.
Automatically scan every PR and repo.
Integrate scans into the build process.
Frequently asked questions
Проверьте свой синтаксис PHP в Интернете. Мы предоставляем чекер для PHP5, PHP7 и PHP8.
Вчера всё работало, а сегодня не работает / Код не работает как задумано
Debugging (Отладка)
В чем заключается процесс отладки? Что это такое?
Процесс отладки состоит в том, что мы останавливаем выполнения скрипта в любом месте, смотрим, что находится в переменных, в функциях, анализируем и переходим в другие места; ищем те места, где поведение отклоняется от правильного.
Важное замечание:
Есть много IDE и редакторов кода, которые позволяют производить отладку. Процесс настройки в них у всех различается. Поэтому стОит обратиться к документации по настройке отладки для непосредственно той среды разработки и той версии, в которой работаете именно ВЫ.
На текущий момент будет рассмотрен пример с PHPStorm 2017.
Подготовка
Для начала необходимо, чтобы в PHP имелась библиотека для отладки под названием xdebug. Если её еще нет, то надо установить.
ВАЖНО! Для очень новых версий PHP (например 8), требуется и новый xdebug , а он, в свою очередь, работает на порту 9003. Не пропустите указание правильного порта в IDE!! (Примерно в разделе PHP -> Debug -> Debug Port . Где точно — зависит от конкретной IDE)
Для WINDOWS:
скачать dll, например на xdebug.org.
Обычно все библиотеки лежат в папке ext внутри папки PHP. Туда и надо поместить dll .
Далее в php.ini прописываем настройки:
[Xdebug] zend_extension="C:/server/php/ext/php_xdebug.dll" //
Перезагружаем сервер, на всякий случай.
Для UBUNTU:
- sudo apt update ИЛИ sudo apt-get update
- sudo apt install php-xdebug или если нужнен отладчик для конкретной версии PHP, то sudo apt install php7.0-xdebug где 7.0 указывается версия PHP
- sudo nano /etc/php/7.0/mods-available/xdebug.ini
zend_extension=/usr/lib/php/20151012/xdebug.so xdebug.remote_autostart = 1 xdebug.remote_enable = 1 xdebug.remote_handler = dbgp xdebug.remote_host = 127.0.0.1 xdebug.remote_log = /tmp/xdebug_remote.log xdebug.remote_mode = req
Теперь если в файле .php написать phpinfo(); то можно будет увидеть в самом низу такую картину:
- нажимаем create project from existing files
- выбираем Web server is installed locally, source files are located under its document root
- выбираем папку с файлами, и нажав вверху кнопку «Project Root» помечаем папку как корень проекта
- нажимаем «Next»
- нажимаем Add new local server
- вводим имя сервера любое и Web Server root URL . В рассматриваемом примере это http://localhost/testy2
Запуск
Для начала в левой части панели с кодом на любой строке можно кликнуть ЛКМ , тем самым поставив точку останова (breakpoint — брейкпойнт). Это то место, где отладчик автоматически остановит выполнение PHP, как только до него дойдёт. Количество breakpoint’ов не ограничено. Можно ставить везде и много.
Если кликнуть ПКМ и во всплывающем меню выбрать Debug (или в верхнем меню — Run → Debug ), то при первом запуске PHPStorm попросит настроить интерпретатор. Т.е. надо выбрать версию PHP из папки, где он лежит, чтобы шторм знал, какую версию он будет отлаживать.
Теперь можно нажать Debug .
В данном случае, т.к. функция вызывается сразу на той же странице, то при нажатии кнопки Debug — отладчик моментально вызовет функцию, выполнение «заморозится» на первом же брейкпойнте. В ином случае, для активации требуется исполнить действие, при котором произойдет исполнение нужного участка кода (клик на кнопку, передача POST-запроса с формы с данными и другие действия).
- Стэк вызовов, все вложенные вызовы, которые привели к текущему месту кода.
- Переменные. На текущий момент строки ниже номера 3 ещё не выполнились, поэтому определена лишь $data
- Показывает текущие значения любых переменных и выражений. В любой момент здесь можно нажать на + , вписать имя любой переменной и посмотреть её значение в реальном времени. Например: $data или $nums[0] , а можно и $nums[i] и item['test']['data'][$name[5]][$info[$key[1]]] и т.д. На текущий момент строки ниже номера 3 ещё не выполнились, поэтому $sum и $output обозначены красным цветом с надписью «cannot evaluate expression».
Процесс
Для самого процесса используются элементы управления (см. изображение выше, выделено зеленым прямоугольником) и немного из дополнительно (см. изображение выше, выделено оранжевым прямоугольником).
Show Execution Point ( Alt+F10 ) — переносит в файл и текущую линию отлаживаемого скрипта. Например, если файлов много, решили посмотреть что в других вкладках, а потом забыли где у вас отладка
Step Over ( F8 ) — делает один шаг, не заходя внутрь функции. Т.е. если на текущей линии есть какая-то функция, а не просто переменная со значением, то при клике данной кнопки, отладчик не будет заходить внутрь неё.
Step Into ( F7 ) — делает шаг. Но в отличие от предыдущей, если есть вложенный вызов (например функция), то заходит внутрь неё.
Step Out ( Shift+F8 ) — выполняет команды до завершения текущей функции. Удобно, если случайно вошли во вложенный вызов и нужно быстро из него выйти, не завершая при этом отладку.
Rerun ( Ctrl+F5 ) — перезапускает отладку.
Resume Program( F9 ) — продолжает выполнение скрипта с текущего момента. Если больше нет других точек останова, то отладка заканчивается и скрипт продолжает работу. В ином случае работа прерывается на следующей точке останова.
Stop ( Ctrl+F2 ) — завершает отладку.
View Breakpoints ( Ctrl+Shift+F8 ) — просмотр всех установленных брейкпойнтов.
Mute Breakpoints — отключает брейкпойнты.
Итак, в текущем коде видно значение входного параметра:
- $data = "23 24 11 18" — строка с данными через пробел
- $nums = (4) ["23", "24", "11", "18"] — массив, который получился из входной переменной.
Если нажмем F8 2 раза, то окажемся на строке 7; во вкладках Watches и Variables и в самой странице с кодом увидим, что переменная $sum была инициализирована и её значение равно 0.
Если теперь нажмем F8 , то попадем внутрь цикла foreach и, нажимая теперь F8 , пока не окончится цикл, можно будет наблюдать на каждой итерации, как значения $num и $sum постоянно изменяются. Тем самым мы можем проследить шаг за шагом весь процесс изменения любых переменных и значений на любом этапе, который интересует.
Дальнейшие нажатия F8 переместят линию кода на строки 11, 12 и, наконец, 15.
Дополнительно
Если нажать на View Breakpoints в левой панели, то можно не только посмотреть все брейкпойнты, но в появившемся окне можно еще более тонко настроить условие, при котором на данной отметке надо остановиться.
В функции выше, например, нужно остановиться только когда $sum превысит значение 20.
Это удобно, если останов нужен только при определённом значении, а не всегда (особенно в случае с циклами).
Что такое PHP?
PHP (Hypertext PreProcessor) — PHP это язык сценариев на стороне сервера, разработанный в первую очередь для веб-разработки. Код PHP может быть встроен в HTML или может использоваться в сочетании с различными системами веб-шаблонов, системами управления веб-контентом и веб-фреймворками.
Что такое онлайн PHP песочница?
Онлайн PHP Песочница была создана для отладки, тестирования и запуска вашего php кода онлайн. Также это позволяет разработчикам делиться своим PHP кодом с сообществом. Этот инструмент работает с белым списком функций. Все функции, для которых требуется доступ к диску, системе или сети, занесены в черный список, другие — в белый. Максимальное время выполнения составляет 3 секунды.
Если вы обнаружите отключенную функцию, которая должна быть в белом списке или если у вас возникнут другие проблемы, пожалуйста, свяжитесь с нами.
Для разрыва строки эхо-вывода в режиме CLI необходимо использовать PHP_EOL или n
Протестируйте свой PHP код онлайн без необходимости веб-сервера.
Могу ли я запустить PHP программу онлайн?
С помощью нашего инструмента вы можете редактировать PHP-код и просматривать результат в своем браузере.
Просто вставьте свой PHP-код в текстовое поле выше и нажмите кнопку «Выполнить», и вы получите результат выполнения PHP Онлайн.
Как проверить синтаксис PHP онлайн?
С помощью нашего инструмента вы можете вставить ваш код в PHP редоактор и он сразу же покажет синтаксические ошибки если они есть. А также вы можете попробовать запустить свой код онлайн для нахождения более скрытых проблем и ошибок.
Зачем нужно запускать PHP скрипт онлайн?
Очень часто разработчикам бывает нужно протестировать какую-то маленькую логику, и быстрее ее проверить в нашем PHP компилере, чем создавать отдельный скрипт и проверять его на своем локальном сервере или на удаленном сервер.
Пример
После выполнения кода вы увидите «Hello World!».
Php lint check – check if syntax of given php code is valid and see errors online.
Sample valid php code
Php error checking online
07/05/2023: Added PHP 8.3.0alpha3, 8.2.8 and 8.1.21
06/23/2023: Added PHP 8.3.0alpha2
06/22/2023: Added PHP 8.3.0alpha1
06/08/2023: Added PHP 8.0.29
06/07/2023: Added PHP 8.1.20, 8.2.7
Please let me know when you find any bugs or annoyances to help make this website better 🙂
Notes
Network access is rerouted from within the Sandbox, and system access is limited for now. Read about how to use network functions and example files.
If you feel like a function should be enabled/disabled, or if you have any other suggestions, let me know through the comments below or send me an email :).
Looking for the old version?
Check this out: The Legacy Online PHP Sandbox
Most used PHP functions
- sandbox (118847033)
- preg_replace (207256)
- json_encode (146419)
- preg_match (135747)
- unserialize (116794)
- serialize (112688)
- hex2bin (101496)
- uniqid (82613)
- array (72741)
- json_decode (62295)
- iconv (54133)
- utf8_decode (47475)
- preg_replace_callback (47053)
- preg_match_all (46068)
- str_replace (42926)
- strtotime (38938)
Last used PHP functions
- sandbox (2 seconds ago)
- bin2hex (2 minutes ago)
- zlib_decode (6 minutes ago)
- soundex (16 minutes ago)
- mb_detect_encoding (20 minutes ago)
- password_get_info (31 minutes ago)
- password_verify (32 minutes ago)
- password_hash (32 minutes ago)
- rand (42 minutes ago)
- json_encode (48 minutes ago)
- array_count_values (51 minutes ago)
- serialize (51 minutes ago)
- json_decode (1 hour ago)
- array_diff (1 hour ago)
- unserialize (1 hour ago)
- utf8_encode (1 hour ago)
PHP syntax checker
PHP error checker allows to check your PHP code syntax, and find PHP errors easily and quickly. This PHP code checker tool highlights and goes to line with a syntax error.
You can check syntax for PHP 5, PHP 7 and PHP 8 🙂
To check your code, you must copy and paste, drag and drop a PHP file or directly type in the "PHP code" online editor below, and click on "Check PHP syntax" button.
You can see the user guide to help you to use this php checker tool.
User guide
- First, Drag and drop your PHP file or copy / paste your PHP text directly into the editor above.
- Finally, you must click on "Check PHP syntax" button to display if there is an syntax error in your code.
PHP code checker tool
PHP is a server-side scripting language, but can also be used as a general-purpose programming language.
PHP error checker tool allows to find syntax errors (lint). You can test your PHP code online directly in your browser.
If a syntax error is detected, then the line in error is highlighted, and it jumps to it to save time (no need to search the line).
It can be useful to make online test to save time (deployment . ).
Note: If you want to run php code you can use our PHP Online tool.
API
An API is available to test the syntax of your php scripts.
Check the PHP syntax. PHP versions: 5.6.40, 7.4.8, 8.0.0.
const request = new XMLHttpRequest(); request.open("POST", "https://api.extendsclass.com/php-checker/8.0.0", true); request.onreadystatechange = () => < >; request.send('');