Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.14.126.74] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте ViktorXP!
У меня такая проблема. Создал простенький сайт (3 страницы). Закачал на хост. Установил доступ к библиотеке VCL (через изменение php.ini, как вы писали выше). но не работает, вернее работает, но не меню. У меня на главной станице стоит MainMenu, так вот, получаю ошибку: Строка: 164 Символ: 5 Ошибка: 'qx' is undefined Код: 0 Ругается на скрипт qx.js ??? Подскажите, пожалуйста, как её исправить, если это возможно. Эта тема была разделена из темы "Delphi for PHP" |
Сообщ.
#2
,
|
|
|
посмотри на тело сгенериной хтмлки. на присутствия этого файла в заголовке. если он там есть то попробуй загрузить файл по тому уршу что там записан. в большей степени что браузер не может его грузануть. илиже если хостинг бесплатный то убедись что к файлу лишнего не прикрепляют (убил бы хостеров за это)
|
Сообщ.
#3
,
|
|
|
Хостинг платный.
А пишет в html следующий код: <script type="text/javascript" src="vcl-bin/js/common.js"></script> <title>index</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="vcl-bin/qooxdoo/framework/script/qx.js"></script> <script type="text/javascript"> qx.log.Logger.ROOT_LOGGER.setMinLevel(qx.log.Logger.LEVEL_FATAL); qx.manager.object.AliasManager.getInstance().add("static", "vcl-bin/qooxdoo/framework/resource/static/"); qx.manager.object.AliasManager.getInstance().add("widget", "vcl-bin/qooxdoo/framework/resource/widget/windows/"); qx.manager.object.AliasManager.getInstance().add("icon", "vcl-bin/qooxdoo/framework/resource/icon/VistaInspirate/"); </script> Не пойму, к какой библиотеке идет обращение? Я VCL закачал полностью. Тогда почему не находит скрипт? На локальном компьтере работает без проблем. Может быть надо прописать пути где-то ещё? |
Сообщ.
#4
,
|
|
|
пути прописываются в php.ini
может не так как нужно записал пути. попробуй загрузить файл {имя твоего хоста}/vcl-bin/qooxdoo/framework/script/qx.js если файл не загрузится значит гдето не так настроенно Добавлено и бери код в спец скобки, а то не удобочетаемо. |
Сообщ.
#5
,
|
|
|
vcl-bin - нет такой библиотеки на хосте.
есть бибилиотека vcl - в ней скрипт {vcl/qooxdoo/framework/script/qx.js} Почему скрипт не определен? Как его определить? Помогите,пожалуйста! |
Сообщ.
#6
,
|
|
|
Ошибка в настройках. Только где?
Запустил Delphi for PHP 2.0. Загрузил сайт, тот, что в варианте Delphi for PHP 1.0 работал без проблем на локальном компьютере, но стал выдавать ошибку при работе на хостинге - 'qx' is undefined. Далее сменил браузер для тестирования на Оперу. И вижу - сайт грузится, но меню - НЕ выводится на экран. И выдается следующая ошибка: Цитата Unit1 http://localhost:3570/unit1.php?restore_session=1&DBGSESSID=1@clienthost:7869 Inline script thread Error: name: ReferenceError message: Statement on line 2: Reference to undefined variable: qx Backtrace: Line 2 of inline#5 script in http://localhost:3570/unit1.php?restore_session=1&DBGSESSID=1@clienthost:7869 var d = qx.ui.core.ClientDocument.getInstance(); Т.е. получается ошибка в обоих версиях одинакова. Только в Delphi for PHP 1.0 эта ошибка не появлялась при тестировании на локальном компьтере, а вылезла только при запуске сайта на хостинге, а для Delphi for Php 2.0 эта ошибка появляется уже на локальном компьтере в других (Mozilla, Opera) отличных от IE браузерах. У какого есть какие мысли? Можно решить эту проблему? |
Сообщ.
#7
,
|
|
|
Цитата goodwin @ Запустил Delphi for PHP 2.0. Загрузил сайт, тот, что в варианте Delphi for PHP 1.0 работал без проблем на локальном компьютере, но стал выдавать ошибку при работе на хостинге - 'qx' is undefined. непонятно под каким Delphi for PHP проект если писал проект под 1, то под 2 возможно будут проблемы нужно будет затачивать если под 1 работает а при переносе на провайдера не работает то браузер тут не при чём это настройки на провайдере я бы поставил себе на локальную машину отдельно от Delphi for PHP серверный софт Apache и php перенёс бы на него сайт и проверил работает или нет если нет то настраиваеш смотриш разницу между настройуами этого софта в Delphi for PHP и в поставленном тобой после этого уже разбираешся что там не так на провайдере ну и phpinfo() сравни но прежде всего проверь где то здесь проблема vcl-bin/qooxdoo/framework/script/qx.js т.к. у меня путь такой vcl/qooxdoo/framework/script/qx.js кстати, при такой адресации эта папка должна находится в папке с файлами проекта а не в корне сайта а где у тебя она ? |
Сообщ.
#8
,
|
|
|
Здравствуйте!
Мне кажется, что библиотека vcl-bin - это что-то виртуалное, а не физическое. У меня на локальном хосте стоит Денвер и все тестируемые приложения работают нормально (но опять же, Денвер нужен только когда стоит задача сделать тест на базе данных, а так собственных средств у Delphi for Php достаточно, чтобы выполнить несложный тест без подключения к базам данных). Так вот, когда приложение-сайт (а это форма на которой стоит всего лишь MainMenu) тестируем в оболочке Delphi for Php 1.0, все работает нормально во всех браузерах, стоит перенести приложение на хостинг, возникает ошибка - 'qx' is undefined и меню браузер(-ы) не отображают. И опять же данное приложение, а оно как я написал выше простейшее - форма и MainMenu на форме, запускаем на ЛОКАЛЬНОМ компьютере в среде Delphi for php 2.0, то ошибка в IE не возникает, а в других браузерах появляется. Какой напрашавается вывод, в чем причина? Не знаю, у меня в голове не укладывается, то ли это браузеры, то ли это настойки. Насторйки чего? php? |
Сообщ.
#9
,
|
|
|
Цитата goodwin @ Мне кажется, что библиотека vcl-bin - это что-то виртуалное, а не физическое. У меня на локальном хосте стоит Денвер и все тестируемые приложения работают нормально (но опять же, Денвер нужен только когда стоит задача сделать тест на базе данных, а так собственных средств у Delphi for Php достаточно, чтобы выполнить несложный тест без подключения к базам данных). Для того что бы разрабатывать нормальные web приложения и иметь минимум проблем нужно: 1. Симитировать площадку провайдера т.е. убрать Денвер(или просто не использовать для проверки) и настроить у себя на компьютере самостоятельно Apache и php (Денвер для ленивых, а ленивый платит дважды) 2. Запустить ваш проект на своей машине НЕ ПОД DELPHI FOR PHP и не под Denver а под самостоятельно настроенным сервером после того как всё заработает в таком варианте на провайдер переносится мухой и без проблем разбираться же почему не работает на провайдере не проверив на своей машине без средств разработки будет долго и неэффективно к примеру нашего провайдера пришлось заставить включить дополнительные библиотеки, которые у него были не подключены что бы проект заработал хотя на другом провайдере они были подключены в любом случае браузер здесь не причём т.к. в том случае когда сайт работает нормально и в случае когда не работает конфигурация браузера не меняется думаю есть простое, но кривое решение отсюда видно Цитата <title>index</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="vcl-bin/qooxdoo/framework/script/qx.js"></script> <script type="text/javascript"> что на провайдере должен быть такой путь vcl-bin/qooxdoo/framework/script/qx.js ну так надо сделать что бы он там был переименовав vcl в vcl-bin при этом папка vcl должна лежать внутри папки с этим файлом возможно этого хватит |
Сообщ.
#10
,
|
|
|
vicis сказал все что я хотел сказать (хотя я врятли так популярно бы описал ситуину). (самому мне было некогда. в офис перешол работать, а там с 8 утра и до 4 вечера. и нета нету почти, да и времени совсем )
|
Сообщ.
#11
,
|
|
|
Здравствуйте, vicis и ViktorXP!
Я переименовал vcl в vcl-bin, а затем куда бы не перемещал папку vcl, выдается ошибка: Цитата Warning: require_once(vcl/vcl.inc.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/public_html/index.php on line 3 Fatal error: require_once() [function.require]: Failed opening required 'vcl/vcl.inc.php' (include_path='.:/home/xxx/pear/:/home/xxx/pear/smarty') in /home/xxx/public_html/index.php on line 3 т.е. нигде её не видно. Как быть? Где все-таки она должна находиться? "при этом папка vcl должна лежать внутри папки с этим файлом" - это как? Добавлено По разному переносил библиотеку vcl, последний вариант: vcl находится в папке 'pear-bin', а её дубль под именем vcl-bin находится в папке 'pear' соответствующее дополнение к файлу php.ini : Цитата include_path = ".:/home/asiasun/pear-bin/:/home/asiasun/pear-bin/smarty:/home/asiasun/pear/:/home/asiasun/pear/smarty" Результат: библиотеку vcl находит, а vcl-bin - нет. Но пути работают, значит всетаки дело не в этом?! М.б. я все же прав, и библиотека vcl-bin не существует? Ведь ошибка идет на строку 164 (сгенерированный код файла index.php) : <script type="text/javascript"> 164: var d = qx.ui.core.ClientDocument.getInstance(); d.setOverflow("scrollY"); d.setBackgroundColor(null); </script> м.б. дело всё в других ресурсах или подключениях, которые я не сделал? |
Сообщ.
#12
,
|
|
|
Цитата goodwin @ Warning: require_once(vcl/vcl.inc.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/public_html/index.php on line 3 надо смотреть эту строку Цитата goodwin @ Fatal error: require_once() [function.require]: Failed opening required 'vcl/vcl.inc.php' (include_path='.:/home/xxx/pear/:/home/xxx/pear/smarty') in /home/xxx/public_html/index.php on line 3 судя по всему там подключается файл из пути vcl/ и т.д. но ты же переименовал vcl в vcl-bin естественно проблема совет не нужно менять никакие php.ini пока не разобрался с сообщениями об ошибках как я понимаю скрипты java-script у тебя ссылаются на путь vcl-bin а файлы библиотек php на путь vcl как бы не переименовал будет неправильно или в коде поменять надо или разнести по папкам создать две vcl и vcl-bin но это уже шаманство что то ты не так сделал сделай так верни на провайдере все переменные php.ini обратно, которые менял (если менял) далее 1. новый проект - поставь кнопку и опиши на неё событие какое нибудь (т.е. сделай самый простой проект) 2. проверь в DelphiForPHP 3. перенеси на провайдера проверь работает или нет как переносить: - tools->deployment wizard - в нужную папку - эту папку на провайдер, например в папку test - далее проверяеш что в папке test лежит папка vcl (после deployment она там есть) запускаем http://tram-pam-pam/test/page1.php (или как там файл называется) проверяем работу кнопки если работает, то добавляеш на форму меню и делаеш всё как и раньше но не кидай всё в туже папку для чистоты эксперимента сделай папку test1 и в неё всё закинь пока не важно что папка vcl дублируется в обеих папках проектов тебе же важно что бы заработало если что то не работает в каком то из вариантов тогда уже смотиш проблему ищещ в чёи разница между проектами и настройками серверов как смотреть проблему: для начала делаеш файл php назови его phpinfo.php положи и на провайдера и в проект на своей машине содержимое файла <?php phpinfo(); ?> запусти этот файл на хосте и на своей машине сравни подключенные библиотеки и переменные |
Сообщ.
#13
,
|
|
|
У меня прежний вопрос:
Почему в браузере IE программа напмсанная на Delphi for PHP 2.0 при выводе на экран компаненты MainMenu(другие не проверял) НЕ имеет никаких ошибок, стоит только запустить эту же программу в таких браузерах как Mazilla или Opera, то компанент MainMenu не выводится, а выводится ошибка: Цитата Unit1 http://localhost:3570/unit1.php?restore_session=1&DBGSESSID=1@clienthost:7869 Inline script thread Error: name: ReferenceError message: Statement on line 2: Reference to undefined variable: qx Backtrace: Line 2 of inline#5 script in http://localhost:3570/unit1.php?restore_session=1&DBGSESSID=1@clienthost:7869 var d = qx.ui.core.ClientDocument.getInstance(); В чем проблема? почему в одном браузере работает, а в других нет? Можно эту проблему решить? Причем, на форме ничего, кроме Mainmenu нет, и само меню пустое! |
Сообщ.
#14
,
|
|
|
Цитата goodwin @ Почему в браузере IE программа напмсанная на Delphi for PHP 2.0 при выводе на экран компаненты MainMenu(другие не проверял) НЕ имеет никаких ошибок, стоит только запустить эту же программу в таких браузерах как Mazilla или Opera, то компанент MainMenu не выводится, а выводится ошибка: разработчик говорит, что должно работать хотя есть сообщения что у кого то не работает http://forums.delphi-php.net/vcl4php/1131-support-opera-browser.html поищи ещё на этом форуме а родные примеры из Delphi for PHP 2.0 работают (с меню)? оперу запускаеш из под Delphi for PHP 2.0 ? а с другой стороны этих браузеров ничтожно мало http://www.exler.ru/blog/item/1662/ я бы проигнорировал хотя это конечно не спортивно |
Сообщ.
#15
,
|
|
|
Я бы давно отказался от этой затеи, но я вижу одну и ту же ошибку:
программа на Delphi for php 1.0 работает без проблем во всех браузерах при тестировании на локальном компьютере, но стоит перенести её на хостинг - вывод не работает - появляется ошибка, абсолютно та же что и в версии 2.0 при тестировании этой же программы на локальном компьтере в отличных от IE браузерах. Т.е. ошибка имеет место в обоих версиях, но проявляется в разных вроде бы ситуациях. М.б. всё дело в настройках? |