PHP Api Version shoul be > 20131106
You able build your module or use our precompiled module iris.so for various version Intersystems Iris.
-
Build own IRIS docker-image in current folder:
docker-compose build
-
Run IRIS-container
docker-compose up -d
-
Testing php demo-page on localhost:52080 in browser.
-
Stopping container
docker-compose stop
-
Install Iris or setup oficial container.
-
Download official container: https://hub.docker.com/_/intersystems-iris-data-platform/plans/222f869e-567c-4928-b572-eb6a29706fbd?tab=instructions
-
Setup IRIS in container: http://localhost:9092/csp/sys/UtilHome.csp
-
URL for creating DB in container: http://localhost:9092/csp/sys/mgr/%25CSP.UI.Portal.Databases.zen
-
Create name space: http://localhost:9092/csp/sys/mgr/%25CSP.UI.Portal.Namespaces.zen
-
Enable call-in service: http://localhost:9092/csp/sys/sec/%25CSP.UI.Portal.Services.zen#
-
Create user, define namespace for user and grant access role %DB_%DEFAULT for user: http://localhost:9092/csp/sys/sec/%25CSP.UI.Portal.Users.zen
-
Installing packages
httpd
,php
иphp-dev
. Example for Ubuntu:apt-get update && apt-get install apache2 php php-dev
-
Adding user irisusr in web-data group
usermod -a -G irisusr www-data
cd
in source dir- execute command
phpize
from php disribution ./configure --with-path=[DIR]
DIR - path to Iris lib directory or directly to lbirisdbt.so example: ./configure --with-path=/usr/irissys/binmake
make install
- The most common way to load extension is to include it in your
php.ini
configuration file, example:extension=iris.so
- Enable interface callin (Service tab) and select login&password authentication type in IRIS web interface.
- Necessarily select "Startup namespace". You can use Caché WEB User Interface ("Users editing" tab, "Startup Namespace" field) or php function to do so.
For using php module you need select namespace.
For example:
iris_exec('znspace "SAMPLES"');
Версия PHP Api должна быть > 20131106.
Вы можете собрать самостоятельно модуль или использовать предкомпилированный из данного репозитория.
- Собираем свой образ в текущей папке: docker-compose build
Запускаем контейнер-контейнер docker-compose up -d
Тестируем демо-страницу на localhost:52080 в браузере.
Останавливаем контейнер docker-compose stop
- Настройка на основе докер-образа Iris или установленного Iris. *
Устанавливаем Iris (или скачиваем готовый docker-контейнер) Скачать контейнер: https://hub.docker.com/_/intersystems-iris-data-platform/plans/222f869e-567c-4928-b572-eb6a29706fbd?tab=instructions
Настройка IRIS в контейнере: http://localhost:9092/csp/sys/UtilHome.csp
Создать базу в контейнере http://localhost:9092/csp/sys/mgr/%25CSP.UI.Portal.Databases.zen
Создать область http://localhost:9092/csp/sys/mgr/%25CSP.UI.Portal.Namespaces.zen
Включить сервис call-in http://localhost:9092/csp/sys/sec/%25CSP.UI.Portal.Services.zen#
Создать пользователя, присвоить ему область для запуска и дать пользователю роль %DB_%DEFAULT http://localhost:9092/csp/sys/sec/%25CSP.UI.Portal.Users.zen
- Устанавливаем пакеты
httpd
,php
иphp-dev
Например (для Ubuntu)apt-get install apache2 php php-dev
- Добавляем пользователя cacheusr в группу web-users командой
usermod -a -G irisusr www-data
- Перейдите в папку исходного кода модуля
- выполните команду
phpize
- выполните команду
./configure --with-path=[DIR]
DIR - путь к Caché или напрямую к libirisdbt.so например: ./configure --with-path=/usr/irissys/bin - выполните команду
make
- выполните команду
make install
- для использования необходимо добавить в файл php.ini, например: extension=iris.so Для ubuntu: Создать файл /etc/php/7.2/mods-available/iris.ini c текстом: extension=iris.so, а потом создать на него символическую ссылку iris.so в папке /etc/php/7.2/mods-enabled.
- Включить интерфейс callin (в сервисах) и выбрать аутентификацию по пользователю и паролю в web-интерфейсе Iris.
- ОБЯЗАТЕЛЬНО выбрать "Startup namespace". Для этого вы можете использовать веб-интерфейс IRIS (вкладка редактирования пользователей, поле "Startup Namespace") или php функцию.
Для использования модуля необходимо установить область (namespace).
Пример:
iris_exec('znspace "SAMPLES"');