|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Здравствуйте! Проблема такая, что не понятно в какой теме лучше спрашивать. Месяц назад в этом разделе очень оперативно разъяснили, может и сейчас кто знает? То чего я боялся для Linux, не могу подключить sybase-модуль к РНР5. Здесь можно взять кучу скомпилированных модулей Код: plaintext
Однако при попытке загрузить РНР 5.2.х, указав Код: plaintext
Код: plaintext 1.
Всё что я мог - я посмотрел что и где это такое "executor_globals" - некая структура в модуле Zend. Я компилил РНР в разных вариантах, последний раз с поддержкой ZDS и TSRM. Просто сейчас на линуксовом компе мне трудно, установить ASA11, и я думал, что не хватает установленной ASA, или хотя бы заданных переменных от sybase, из-за которых структура остаётся пустой и поэтому не создаётся. Только тревожит найденное сообщение, год назад http://nntp-archive.sybase.com/nntp-archive/action/article/%3C511b4a1c.3a17.1681692777@sybase.com%3E] здесь была описана очень похожая проблема, которую внесли как Код: plaintext
Код: plaintext
Кто-нибудь боролся с такой проблемой? Я пока хочу именно модульный вариант, без ODBC, т.к. в винде спокойно работает. И если компилировать исходники самой библиотеки, какие параметры и как задавать, подскажите? Для РНР есть скрипт configuer, а для модуля как? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2014, 17:31 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Сей час я копилил РНР без --with-sybase, а сначала указал эту опцию и получил ошибку компиляции типа не найлены некоторые файлы *.h ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2014, 17:35 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98Сей час я копилил РНР без --with-sybase, а сначала указал эту опцию и получил ошибку компиляции типа не найлены некоторые файлы *.h Так может поделишься ещё горем, какие ? Поплачем вместе... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 09:43 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Когда писал SOS, под рукой не было, а горе было такое: Поиском нашёл в файле Код: plaintext
в блоке #if HAVE_SYBASE (который определён как 1) указаны инклуды Код: plaintext 1. 2.
На отсутствие этих 3 инклудов и ругается в первую очередь. Их я у себя не нашёл. Фрагмент исходника где они: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 12:45 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98, автор Код: plaintext 1. 2. 3. 4.
Это инклуды библиотеки FreeTDS. http://www.freetds.org Её надо поставить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 14:43 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Спасибо, увы, Unable to load page Problem occurred while loading the URL http://www.freetds.org буду искать ... Но это вариант решения через ТДС, а с "родным" вариантом перспективы есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 14:52 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98Спасибо, увы, Unable to load page Problem occurred while loading the URL http://www.freetds.org буду искать ... Но это вариант решения через ТДС, а с "родным" вариантом перспективы есть? Если он написан с FreeTDS, и собирается только с ним, то нет. Надо читать документацию по сборке. Но на самом деле FreeTDS не так уж и плохо... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 16:22 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Пока промежуточный итог - ну вдруг ещё кому-то хочется. На packages.debian.org есть бинарный пакет freetds-bin Версия какая была - 0.82-7, может мне ещё и не подойдёт. После установки пакета со всеми зависимостями, обнаружил на диске те самые 3 файла + клиентские библиотеки, так что установка ASA надеюсь не потребуется. Все инклуды скопировал, после этого сборка РНР с опцией --with-sybase=/.../lib прошла безпрепятственно. Теперь РНР при загрузке с включённой extension=php-xyz-sqlanywhere.so даёт warning ,забыл что, уже речь не о процедуре/структуре, а уровнем выше. За поздним временем и freetds ещё не успел настроить, теперь до следующей недели. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2014, 01:21 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98Пока промежуточный итог - ну вдруг ещё кому-то хочется. На packages.debian.org есть бинарный пакет freetds-bin Версия какая была - 0.82-7, может мне ещё и не подойдёт. После установки пакета со всеми зависимостями, обнаружил на диске те самые 3 файла + клиентские библиотеки, так что установка ASA надеюсь не потребуется. Все инклуды скопировал, после этого сборка РНР с опцией --with-sybase=/.../lib прошла безпрепятственно. Теперь РНР при загрузке с включённой extension=php-xyz-sqlanywhere.so даёт warning ,забыл что, уже речь не о процедуре/структуре, а уровнем выше. За поздним временем и freetds ещё не успел настроить, теперь до следующей недели. Тебе нужен пакет для разработки, обычно он такой же, но с суффиксом -dev. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2014, 10:46 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
К сож. пока с пакетом .dev трудности. Сегодня смотрел поведение фритдс, хоть это и другой вариант. Модуль php-xxyz-sqlanywhere_r.so как бы пока лишний. Настройка FreeTDS в файле *.conf простейшая. Он спокойно соединяется, даже выполняет запросы и даже из Апача. Но почему-то успешно только если запрос возвращает 1 запись, например при select top 1 * from или select * from ... where xx= yy или даже select count(*) Если же написать хотя бы select top 2 client_id from client , то запрос начинает заполнять память, отведенную для РНР, например 32 М или 128 М, сообщает об этом и заканчивает, не возвращая результат, хотя в таблице сотня записей. Что может быть и как лечить? База удалённая, там же запущен сервер с параметром -х TCPIP (в доке вроде написано, что TDS=YES по умолчанию). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2014, 20:48 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98Сегодня смотрел поведение фритдс, хоть это и другой вариант. Модуль php-xxyz-sqlanywhere_r.so как бы пока лишний. Настройка FreeTDS в файле *.conf простейшая. Он спокойно соединяется, даже выполняет запросы и даже из Апача. Но почему-то успешно только если запрос возвращает 1 запись,"да" на все вопросы которые тут не заданы. Вообще FreeTDS это уже давно устаревшая штука и баги в ней вряд-ли правятся. Так-же, вряд ли ты сегодня найдешь по нему спецов. Есть еще зубры которые с ним когда-то работали, но склероз это тоже не шутки. В общем, попытаться завести FreeTDS можно, но лучше бодаться с более современными интерфейсами, больше шансов на успех. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 06:08 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
White OwlВообще FreeTDS это уже давно устаревшая штука и баги в ней вряд-ли правятся. В общем, попытаться завести FreeTDS можно, но лучше бодаться с более современными интерфейсами, больше шансов на успех. Почему устаревшая и какие ещё интерфейсы можно использовать вместо него ? Например, какие интерфейсы можно использовать для доступа к MSSQLServer ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 11:16 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Жаль, но я не в курсе, что сейчас мэйнстрим для линукс--линукс. Кроме TDS знаю ещё 2 варианта: модуль php-sqlanywh.so либо ODBC, а SA-11.0. С первым пока проблема, а последнее от меня долго не будет зависеть. ДАже ОпенКлиент я сейчас не знаю, только ли для винды оно? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 13:55 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98, http://www.sybase.com/files/White_Papers/PHP_SQL_Anywhere.pdf Стр. 5 пункт 5. Не из-за этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 15:53 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
12.03.2014 14:55, exp98 пишет: > Жаль, но я не в курсе, что сейчас мэйнстрим для линукс--линукс TDS в ASA всегда был костылём, приляпанным для совместимости с ASE ;). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 15:55 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Есть ещё костыльный вариант с прослойкой JDBC. Стр. 5 пункт 5. Не из-за этого? Ох не знаю. Читал это, сам как-то колдовал. Я просто не понимаю из-за этого Код: plaintext 1.
Правда, возникло подозрение, а что если именно моей версии php-sqlanywhere.so нету в установленном SA? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 18:15 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98, PHP модуль требует ещё клиентские библиотеки на этой же машине. Т.е. иными словами на Linux должен быть установлен или дистрибутив ASA сервера или клиента. ------------------------------------------------------ Install SQL Anywhere on the same computer as the Web Server. Alternatively, you can install SQL Anywhere on a separate computer and install the SQL Anywhere client software on the same computer as the Web Server and PHP. ------------------------------------------------------ Как менять - там же всё написано (даже с примером): Modify your environment to allow the SQL Anywhere PHP extension to use libraries located within the SQL Anywhere installation. The lib32 or lib64 subdirectory of the SQL Anywhere installation must be in LD_LIBRARY_PATH. You can modify LD_LIBRARY_PATH by changing the envvars file of your Apache installation. You can check LD_LIBRARY_PATH by looking in the Environment section of the phpinfo() output. For example, add the following lines to envvars (using sh, ksh, or bash): LD_LIBRARY_PATH=”/opt/sqlanywhere11/lib32:$LD_LIBRARY_PATH” export LD_LIBRARY_PATH Restart your Web Server. You can check the status of the SQL Anywhere extension by searching for sqlanywhere in the phpinfo() output. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 19:34 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98, --Сервер с базой на одном компе (линукс), я - на другом (линукс) Поставьте там где "я" клиента ASA и пропишите LD_LIBRARY_PATH в файле envvars (локальный путь к локальному клиенту). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2014, 19:41 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
А я уже запутался. Клиентские библиотеки - речь идёт об ОпенКлиенте? Так самое меньшее из доступного вер.15, а SA-11. Это 3-й вариант. До сих пор я рассматривал 2 варианта: фриТДС и РНР-модуль, т.е. файл php-sqlanywhere.so Первый работает, если нужна только 1 строка, второй - РНР не может загрузить этот модуль, соответственно функция *_connect() не можется найти. С другой стороны, в описаниях Сайбеза написано, что для работы модуля нужны 2 библиотеки (в Винде это dblib11.dll , dbcapi.dll в Линуке это libdblib11.so , libdbcapi.so). Несмотря на это, когда в Винде я убираю из PATH= и из SYDASE= указания на Сайбез, РНР-модуль успешно находит удалённую базу. Поэтому я сомневаюсь, что в варианте РНР-модуля требуется устанавливать Сайбез на клиентском компе, но конечно со временем проверю и это. Или я не прав, и эти модули забиты в Регистри? Тем не менее за подсказки благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 15:10 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Ещё, в доке во введении есть схема используемых Сайбезом коммуникационых протоколов и интерфейсов. Их 2: ТДС и Command Sequence. РНР висит на CS, используя "C API" через интерфейс ESQL, которому соответствуют библиотеки DBLIB. Такие обозначения на схеме. Да, похоже 2 файла *.so требуются. Непонятно почему в Винде они не требуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 15:21 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
exp98А я уже запутался. Клиентские библиотеки - речь идёт об ОпенКлиенте? Так самое меньшее из доступного вер.15, а SA-11. Это 3-й вариант.Нет, не об OpenClient. И вообще, перестань путать две разные СУБД. SA-11 это SQL Anywhere 11. А Open Client это клиент для Adaptive Server Enterprise. Когда ты пытаешься использовать OpenClient или FreeTDS для работы с SQL Anywhere это все равно как пытаться использовать запчасти от Toyota Corolla для ремонта Toyota Rav4, только на том основании что обе машины изготовлены одной фирмой. Да, некоторые запчасти подойдут, но большинство либо потребуют большого напильника, либо вообще не встанут на отведенное им место. Если тебе нужно работать с сервером SA-11, то и клиент бери от SA-11 а не любой другой от того-же производителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 18:55 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Да не путаю я уже. Это когда пишут много раз "клиент", я перестал понимать в каком контексте. В общем убил 2 недели без результата. Про фритдс выше было сказано, а РНР-модуль загрузить так и не удалось. Загруженный для винды РНР-модуль работает, для линукса - не хочет загружаться, а есть там клиент нету - до этого дело не доходит. Пытался колдовать: взял SQL Anywhere Client 12.0 - а какая разница, РНР всё равно сам не знает какой версии база. Задавал сразу кучей заранее PATH=..... LD_LIBRary_PATH=..... SQLANYWHERE12=.... SYBASE=.... SYBASEPLATFORM=.... и т.д. Сколько ни компилил РНР с установленным клиентом и заданными переменными и разными вариантами, результат не меняется. Даже вставлял в CONFIGURE скрипт (путём ./buildconf --force согласно инструкции) для изъятого параметра --with-sqlanywhere, чтобы скомпилить с новым РНР-модулем вместо загруженного. Тогда CONFIGURE ломается на вставленной части. Пытался сам втыкать туда отладочные "echo ...." - как-то не так воткнул (пёрла не знаю) - тогда MAKE ругается, на неправильное кол-во параметров в вызове функций. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2014, 16:16 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
В ощем непонятно, почему свайбез позиционирует соответствующую библиотеку РНР-модуль.so для линукса как рабочую, в инете об этом сплошные вопросы. Буду теперь пытаться ОДБЦ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2014, 16:21 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
20.03.2014 17:21, exp98 пишет: > В ощем непонятно, почему свайбез позиционирует соответствующую > библиотеку РНР-модуль.so для линукса как рабочую Потому что твои кривые руки - это не эталон ;). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2014, 17:42 |
|
помогите разобраться - ошибка загрузки sybase-модуля PHP для Linux: executor_globals
|
|||
---|---|---|---|
#18+
Ну ты безусловно лучше меня. Поделись номерами версий, что ли, для обнадёги. Если у тебя работает - уже радует, есть за что бороться. Насчёт собственной кривизны иллюзий не питаю, т.к. в линухе сижу первые недели в жизн. Здесь я упорядчу свои действия ещё раз, вдруг кто через это прошёл, не я же первый. 0) Всё threaded версии на x86-32bit ядро Линукс 2.6 1) Скачал готовый РНР-модуль и его исходники, установил свой Апач 2.2.26 (старый из операционки снёс, аналогично снёс РНР5) 2) Загрузил и установил пакет SQL Anywhere Client 12.0 3) Дополнил sa_config.sh переменными, запускаю его с рутовой консоли. В дальнейшем все переменные видно через phpinfo(). Далее повторяющиеся эксперименты Вариант 1. Компилим только РНР ---------------------- 4) Очистил каталог исходников РНР и заново распаковал туда исходники. Очистил установочный каталог РНР. 5) ./configure ........ make make test (в итоге сообщение о 2-х возможных неприятностях) make install 6) Восстанавил php.ini и РНР-модуль в .......php52/ext/.... 7) В итоге "php -l" не может загрузить готовый РНР-модуль (Апач отдыхает, SA-Client видимо тоже) Вариант 2. Компилим РНР + РНР-модуль -------------------- 4.1) Очистил каталог РНР и заново распаковал туда исходники. 4.2) Дополнил каталогом ext/sqlanywhere (по инструкции), кинул туда исходники модуля touch * (по инструкции) 4.3) Вставка новой опции и её обработка ./buildconf --force (по инструкции, а "force" скрипт приказал) 5) ./configure ..... --with-sqlanywhere В итоге скрипт вылетает почти в начале обработки вставленной опции: checking for SQLAnywhere support... yes : not found: 91049: : not found: 91050: ./configure: 119417: Syntax error: end of file unexpected (expecting "then") ---------------------- Но вопросы скорее уже не в эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2014, 19:40 |
|
|
start [/forum/topic.php?fid=55&msg=38584462&tid=2009863]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
186ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 303ms |
0 / 0 |