1С PHP. 1С APACHE. xDEBUG

1С PHP – это второй урок курса по интеграции 1С с сайтами. В данном уроке мы установим PHP и подключим его в APACHE, настроим отладчик xDEBUG. Ознакомится с полным курсом по интеграции вы можете здесь.

Скачиваем PHP и xDEBUG

Для начала нам необходимо скачать PHP, сделать это можно по ссылке. Выбирайте версию Thread Safe нужной разрядности.

 

Так же надо скачать библиотеку xDebug. Она нам пригодится для последующей отладки php кода в среде разработки. Скачать надо версию подходящую для вашей версии PHP. В моем случае это PHP 7.3 VC15 TS (64 bit) – для PHP 7.3, 64 разрядная, компилятор Visual Studio 2015, версия Thread Safe.

В папке нашего web сервера создадим каталог PHP. И скопируем туда содержимое нашего архива с PHP. Должно получиться, как на скриншоте.

  

Подключаем к APACHE

 

Теперь подключим PHP в файле конфигурации APACHE. Для этого откройте основной файл конфигурации APACHE (статья про настройку APACHE) httpd.conf и в самом конце добавим строки.

PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"

В корне нашей папки с сайтами, разместим файл index.php следующего содержания.

Перезапустим APACHE и в адресной строке браузера введем localhost. Теперь заместо пустого окна Index of / у вас должно выйти такое.

 

 

Если у вас получилось как на скриншоте, то значит PHP работает и можно приступать к его настройке.

 

Настраиваем 1С PHP

 

В архиве с PHP отсутствует файл конфигурации php.ini, но для настройки есть 2 шаблона php.ini-development и php.ini-production. Возьмем версию development, скопируем ее и переименуем в php.ini

 

Находим 
; extension_dir = "ext" 
меняем на 
extension_dir = "C:\Server\bin\PHP\ext\"

 

Находим первую строку 
;extension=bz2 
и убираем точку с запятой у следующих строк, оставляем только в нескольких 
extension=bz2 
extension=curl 
extension=fileinfo 
extension=gd2 
extension=gettext 
extension=gmp 
extension=intl 
extension=imap 
;extension=interbase 
extension=ldap 
extension=mbstring 
extension=exif ; Must be after mbstring as it depends on it 
extension=mysqli 
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client 
extension=odbc 
extension=openssl 
;extension=pdo_firebird 
extension=pdo_mysql 
;extension=pdo_oci 
extension=pdo_odbc 
extension=pdo_pgsql 
extension=pdo_sqlite 
extension=pgsql 
extension=shmop

 

Находим 
;extension=soap 
и убираем комментарий у всех расширений 
extension=soap 
extension=sockets 
extension=sodium 
extension=sqlite3 
extension=tidy 
extension=xmlrpc 
extension=xsl

 

После подключения всех расширений, настроим еще несколько параметров:

 

memory_limit = 128M 
я установил 512M, устанавливает максимальное количество памяти, которое может использовать скрипт.

 

post_max_size = 8M 
устанавливает максимальное количество данных, которые будут приняты при отправке методом POST, я установил 2048M, думаю хватит )

 

upload_max_filesize = 2M 
я установил 2048M, максимальный размер загружаемого на сервер файла.

 

Сохраните настройки и перезапустите APACHE, посмотрите чтобы localhost выдавал ту же страницу без ошибок.

 

Подключение xDEBUG к APACHE

 

Скорее всего с сайта вы скачали dll типа php_xdebug-2.7.2-7.3-vc15-x86_64.dll, переименуйте его чтобы получилось так php_xdebug.dll

 

Данный файл скопируйте в папку расширений PHP “ext”.

 

Откройте еще раз php.ini и в самом конце добавьте подключение отладчика.

zend_extension="c:\Server\bin\PHP\ext\php_xdebug.dll" xdebug.remote_enable = 1 xdebug.remote_port = 9000 xdebug.remote_handler = "dbgp" xdebug.remote_connect_back = 1 xdebug.idekey = "PHPSTORM"

Сохраните конфигурацию и перезапустите APACHE. Перейдите на localhost и теперь должна найтись секция xDEBUG.

  

Если такой секции нет, значит отладчик не подключился.

 

На этом настройка 1С PHP и отладчика xDebug завершена. Если у вас возникли какие-то ошибки в процессе установки, то пишите в комментариях.