Перейти к содержимому


Внешний скрипт


Сообщений в теме: 38

#21 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 28 Ноябрь 2014 - 02:22

Просмотр сообщенияmaksn (28 Ноябрь 2014 - 01:52) писал:

К сожалению, без common.php, будет работать только в том случае, если не генерировать события (или события не заданы)
Что имеется ввиду? Вызов data_insert с параметром EVENTS_ENABLE не даст результата? События не отработают?

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#22 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 29 Ноябрь 2014 - 02:49

Просмотр сообщенияandibrag (28 Ноябрь 2014 - 02:22) писал:

Что имеется ввиду? Вызов data_insert с параметром EVENTS_ENABLE не даст результата? События не отработают?
Внешний файл без подключенного common.php при включенном параметре EVENTS_ENABLE сгенерирует ошибку, связанную как раз с обработкой событий.

Впрочем, у меня во многих проектах common.php корректно подключается и все отрабатывает как надо
"...Сижу, паяю. CRM починяю..."
Мои разработки

#23 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 30 Ноябрь 2014 - 11:10

Цитата

Внешний файл без подключенного common.php при включенном параметре EVENTS_ENABLE сгенерирует ошибку, связанную как раз с обработкой событий.
Впрочем, у меня во многих проектах common.php корректно подключается и все отрабатывает как надо
Ни разу такого не было. Всегда все работало и запускало

#24 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 30 Ноябрь 2014 - 11:16

Просмотр сообщенияandibrag (27 Ноябрь 2014 - 20:30) писал:

У меня так работает
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/config.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/mysql_connect.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions1.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/functions2.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/constants.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/include/sql_functions.php";
Далее Ваш код.
Пытался заменить всю эту шапку на
require_once $_SERVER['DOCUMENT_ROOT'] . "/cb/common.php";
- выдавало ошибку.

Вот рабочий код из проекта:

<?php
define('BAPI_CB_DIR', dirname(__FILE__) . '/');
define('CLIENTBASE_DIR', dirname(__FILE__) . '/../../');
require 'vendor/autoload.php';
$config['script_noauth'] = 1;
require_once CLIENTBASE_DIR."common.php";
//require_once CLIENTBASE_DIR."include/config.php";
//require_once CLIENTBASE_DIR."include/constants.php";
//require_once CLIENTBASE_DIR."include/mysql_connect.php";
//require_once CLIENTBASE_DIR."include/sql_functions.php";
//require_once CLIENTBASE_DIR."include/bm.errors.php";
//require_once CLIENTBASE_DIR."include/functions1.php";
//require_once CLIENTBASE_DIR."include/functions2.php";
//require_once CLIENTBASE_DIR."include/functions_cron.php";

$load = new Aura\Autoload\Loader();
$load->addPrefix("bitmaster", BAPI_CB_DIR);
$load->register();
Все это находится /modules/babi/init.php. Соответственно я подключаю этот инит в нужном мне файле.

Сообщение отредактировал wondertalik: 30 Ноябрь 2014 - 11:17


#25 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 30 Ноябрь 2014 - 18:02

Просмотр сообщенияwondertalik (30 Ноябрь 2014 - 11:10) писал:

Ни разу такого не было. Всегда все работало и запускало

Так и я о том же. Посмотрите внимательно на свой код. У Вас в первой строчке подключается common.php. Если его опустить (не подключать), то при наличии вычислений на события, при включенном EVENTS получаем ошибку. Ну а если не включать этот параметр, то все будет работать без ошибок. Правда вычисления не отработают. Отсюда вывод - нужна обработка событий -подключаем common.php
Не нужна обработка - можно и без него

Сообщение отредактировал maksn: 30 Ноябрь 2014 - 18:05

"...Сижу, паяю. CRM починяю..."
Мои разработки

#26 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 30 Ноябрь 2014 - 23:51

Просмотр сообщенияmaksn (30 Ноябрь 2014 - 18:02) писал:

Так и я о том же. Посмотрите внимательно на свой код. У Вас в первой строчке подключается common.php. Если его опустить (не подключать), то при наличии вычислений на события, при включенном EVENTS получаем ошибку. Ну а если не включать этот параметр, то все будет работать без ошибок. Правда вычисления не отработают. Отсюда вывод - нужна обработка событий -подключаем common.php
Не нужна обработка - можно и без него
Раньше подключал что закомментировано - все было ок с ивентами. Возможно поменяли. Ну да не суть текущий вариант меня вполне пока устраивает.

#27 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 01 Декабрь 2014 - 00:36

Просмотр сообщенияwondertalik (30 Ноябрь 2014 - 11:16) писал:

Все это находится /modules/babi/init.php. Соответственно я подключаю этот инит в нужном мне файле.
У меня лежит в cb/cb_modules/sql.php - в своей папке, но внутри папки с программой.
Параметры передаются через post. В зависимости от них происходит или создание новой записи или обновление оной. Может сейчас что-то поменялось. В предыдущих версиях, попытка заменить всю шапку на common.php приводило к ошибке, сути которой уже не помню.

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#28 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 01 Декабрь 2014 - 11:38

Просмотр сообщенияandibrag (01 Декабрь 2014 - 00:36) писал:

У меня лежит в cb/cb_modules/sql.php - в своей папке, но внутри папки с программой.
Параметры передаются через post. В зависимости от них происходит или создание новой записи или обновление оной. Может сейчас что-то поменялось. В предыдущих версиях, попытка заменить всю шапку на common.php приводило к ошибке, сути которой уже не помню.
Попробуйте, у меня начиная с 202 скрипт работает.

#29 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 01 Февраль 2016 - 12:29

Попытался подключить common.php из modules/nbapi/test.php, в итоге получаю

PHP Fatal error:  main(): Failed opening required '../../lang/russian.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/buket/common.php on line 240
<br />
<b>Fatal error</b>:  main(): Failed opening required '../../lang/russian.php' (include_path='.:/usr/share/php:/usr/share/pear') in <b>/var/www/html/buket/common.php</b> on line <b>240</b><br />

Попробовал подключить вот так:

require_once CLIENTBASE_DIR."include/config.php";
require_once CLIENTBASE_DIR."include/constants.php";
require_once CLIENTBASE_DIR."include/mysql_connect.php";
require_once CLIENTBASE_DIR."include/sql_functions.php";
//require_once CLIENTBASE_DIR."include/bm.errors.php";
require_once CLIENTBASE_DIR."include/functions1.php";
require_once CLIENTBASE_DIR."include/functions2.php";
require_once CLIENTBASE_DIR."include/functions_cron.php";
function generate_error($str)
{
	die("$str");
}

data_update(171, EVENTS_ENABLE, ['f2301' => 'Доставлен', 'f6571' => $value['sender']], "`id` = ", $result->id);

В итоге ошибка:

exception 'ErrorException' with message 'Undefined variable: link_identifier' in /var/www/html/buket/include/functions1.php:33

Сообщение отредактировал wondertalik: 01 Февраль 2016 - 12:53


#30 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 02 Февраль 2016 - 12:30

Файл common.php на данный момент можно подключать только из корня. Считайте это особенностью текущего движка.

#31 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Февраль 2016 - 12:54

Просмотр сообщенияCbCoder (02 Февраль 2016 - 12:30) писал:

Файл common.php на данный момент можно подключать только из корня. Считайте это особенностью текущего движка.

подключил из корня. попытался выполнить, в итоге получил.

PHP Fatal error:  main(): Failed opening required '/lang/russian.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/html/common.php on line 240
<br />
<b>Fatal error</b>:  main(): Failed opening required '/lang/russian.php' (include_path='.:/usr/share/php:/usr/share/pear') in <b>/var/www/html/common.php</b> on line <b>240</b><br />

вы можете при подключении указывать полный абсолютный путь? я уверен что это решит проблему.

#32 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Февраль 2016 - 12:58

А вы точно из корня подключали? Абсолютный как раз нужен в случае некорневого подключения, а у вас такое ощущение что все таки это оно.

include "common.php";

В скрипте такой инклюд?

#33 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Февраль 2016 - 13:04

Просмотр сообщенияCbCoder (19 Февраль 2016 - 12:58) писал:

А вы точно из корня подключали? Абсолютный как раз нужен в случае некорневого подключения, а у вас такое ощущение что все таки это оно.

include "common.php";

В скрипте такой инклюд?

define('CLIENTBASE_DIR', realpath(dirname(__FILE__))."/");
$config['script_noauth'] = 1;
require_once CLIENTBASE_DIR."common.php";
Лежит в скрипте init.php рядом c common.php.

Вызов простой из консоли
php init.php

vagrant@packer-parallels-iso:/var/www/html$ ls -l common.php init.php
-rw-r--r-- 1 www-data www-data 83335 Feb 10 14:38 common.php
-rw-r--r-- 1 vagrant  vagrant    898 Feb 19 13:04 init.php
vagrant@packer-parallels-iso:/var/www/html$

Ваш вариант подключения - ситуация таже.

Сообщение отредактировал wondertalik: 19 Февраль 2016 - 13:06


#34 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Февраль 2016 - 13:46

В общем, не совсем понял в чем дело, но насколько я знаю, ситуация сейчас такова:
1. Внутри common.php есть множество подключений и все с относительными путями (относительно корня программы, т.к. сам common.php лежит там) .
2. Исходя из п.1, скрипт, подключающий common.php, тоже может лежать только в корне, иначе все пути просто потеряются.

Если же ваш скрипт уже лежит в корне КБ, но тем не менее не работает, то честно говоря я затрудняюсь сказать в чем дело, т.к. первый раз с таким сталкиваюсь.

#35 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Февраль 2016 - 14:08

Просмотр сообщенияCbCoder (19 Февраль 2016 - 13:46) писал:

В общем, не совсем понял в чем дело, но насколько я знаю, ситуация сейчас такова:
1. Внутри common.php есть множество подключений и все с относительными путями (относительно корня программы, т.к. сам common.php лежит там) .
2. Исходя из п.1, скрипт, подключающий common.php, тоже может лежать только в корне, иначе все пути просто потеряются.

Если же ваш скрипт уже лежит в корне КБ, но тем не менее не работает, то честно говоря я затрудняюсь сказать в чем дело, т.к. первый раз с таким сталкиваюсь.
Если через браузер переходить localhost/init.php, то все без ошибок. А вот используя вызов php init.php - ошибка. Очень жаль что так.

$config['script_noauth'] = 1;
include "common.php";
Если найдете как исправить в одной из ревизий, был бы очень благодарен.

#36 Slava.Aurim

    Активный участник

  • Пользователи
  • PipPipPip
  • 40 сообщений
  • Пол:Мужчина

Отправлено 19 Февраль 2016 - 17:02

Возможно, сработает так:

Создайте проксирующий скрипт в корне, и обращайтесь по http к нему (например так: {host}/api.php?module=babi&params= ... ). А из него уже и подключайте все что нужно инклюдом.

#37 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 19 Февраль 2016 - 17:11

Просмотр сообщенияSlava.Aurim (19 Февраль 2016 - 17:02) писал:

Возможно, сработает так:

Создайте проксирующий скрипт в корне, и обращайтесь по http к нему (например так: {host}/api.php?module=babi&params= ... ). А из него уже и подключайте все что нужно инклюдом.
Это не тот случай. Мне требовалось интегрировать commands с кб с возможность вызвать из консоли без каких-либо проксей.

Сообщение отредактировал wondertalik: 19 Февраль 2016 - 17:13


#38 Slava.Aurim

    Активный участник

  • Пользователи
  • PipPipPip
  • 40 сообщений
  • Пол:Мужчина

Отправлено 19 Февраль 2016 - 19:05

Может в консоли, перед вызовом init.php, попробовать сменить активный-текущий каталог на корень КБ? (либо устанавливать его в скрипте)

Сообщение отредактировал Slava.Aurim: 19 Февраль 2016 - 19:05


#39 bottrop

    Активный участник

  • Пользователи
  • PipPipPip
  • 153 сообщений
  • Пол:Мужчина
  • Город:Армавир

Отправлено 28 Апрель 2016 - 17:59

У нас Web версия КБ, всё стоит на хостинге, подключена база MySQL.
Подскажите, как подключиться к MysQL удаленно, для выборки значений из определенных таблиц с целью анализа и построения отчетов. Штатных средств визуализации и отчетов нам не хватает.
Я так понимаю подключаться нужно через php Myadmin напрямую, а не через КБ. Посоветуйте. Заранее благодарен.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных