php-pm-drupal

Drupal adapter for use of Drupal 8 with PHP-PM

Github星跟蹤圖

PHP-PM DrupalKernel Adapter

Overview

This is a fork of PHP-PM's HttpKernel adapter for integrating Drupal with PHP-PM (therefore, also with ReactPHP).

The primary components are a bootstrap and bridge.

See:

The code is in alpha -- very experimental. Last tested against drupal-8.0.2.

View / report issues at https://github.com/php-pm/php-pm-drupal/issues.

Setup / Usage

  1. Install Drupal.

  2. From the Drupal web root, install this project with composer: composer require php-pm/drupal-adapter.

This will also install PHP-PM and the default React <-> Symfony bridge (php-pm/httpkernel-adapter).

  1. Apply these patches to Drupal core:
    * vendor/kentr/php-pm-drupal-adapter/patches/kentr-allow-repeated-setSitePath-in-DrupalKernel.patch
    * vendor/kentr/php-pm-drupal-adapter/patches/stop_using-2505339-24.patch

  2. Start php-pm with

<absolute path to web root>/vendor/bin/ppm \
start \
<absolute path to web root> \
--bridge=httpKernel \
--bootstrap=PHPPM\\Bootstraps\\Drupal

Example:

/var/www/html/vendor/bin/ppm \
start \
/var/www/html/ \
--bridge=httpKernel \
--bootstrap=PHPPM\\Bootstraps\\Drupal

DrupalKernel bridge

By default, PHP-PM uses the \PHPPM\Bridges\HttpKernel bridge to convert a ReactPHP request into a Symfony request and the Symfony response into a ReactPHP response.

The included \PHPPM\Bridges\DrupalKernel bridge extends \PHPPM\Bridges\HttpKernel to populate various request meta-variables specified by CGI/1.1 (RFC 3875).

Setup / Usage

  1. Install as described above.

  2. Include the environment variables and the --bridge option in the php-pm start command.

Supported environment variables:
* **SCRIPT_NAME:** '/index.php' to emulate a standard setup where web requests execute Drupal's `index.php` script.
* **SERVER_NAME:** Your site's server / domain name.  If you're using trusted host settings (`$settings['trusted_host_patterns']` in `settings.php`), this must match one of the trusted hosts.
* **SERVER_ADDRESS:** IP address of the server.
* **DOCUMENT_ROOT:** Absolute filepath of the web root directory.

Example:

SCRIPT_NAME=/index.php \
SERVER_NAME=localhost \
SERVER_ADDRESS=127.0.0.1 \
DOCUMENT_ROOT=/var/www/html \
/var/www/html/vendor/bin/ppm start /var/www/html \
--bridge=PHPPM\\Bridges\\DrupalKernel \
--bootstrap=PHPPM\\Bootstraps\\Drupal

主要指標

概覽
名稱與所有者php-pm/php-pm-drupal
主編程語言PHP
編程語言PHP (語言數: 1)
平台
許可證
所有者活动
創建於2015-10-27 22:45:37
推送於2017-03-10 20:04:31
最后一次提交2016-11-21 14:41:52
發布數0
用户参与
星數43
關注者數9
派生數2
提交數74
已啟用問題?
問題數14
打開的問題數7
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?