Форум: "Прочее";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
ВнизDelphi for PHP Найти похожие ветки
← →
Ляпа (2009-12-10 10:45) [40]Все чудесатее и чудесатее.. У меня установилось влет. ХР SP3 Rus.
← →
Сергей М. © (2009-12-10 11:06) [41]
> Ляпа (10.12.09 10:45) [40]
А посмотри, пож, какой конкретно процесс открыл сервис на 3570-м порту ?
← →
Ляпа (2009-12-10 11:16) [42]Я только вечером (ночью даже) смогу точно сказать. По памяти - апач. А порт отладчика - прописан в инишке рядом с ним. Кстати, если отладчик запускается, то он висит в трее.
← →
Сергей М. © (2009-12-10 11:24) [43]
> По памяти - апач
Быть того не может.
D4PHP не инсталлирует Апач вообще - его программный комплект лишь копируется при инсталляции дистрибутива.
Более того, в настройках IDE Опции -> PHP -> Internal webbrowser черным по белому написано, что он internal, а не внешний)
← →
Ляпа (2009-12-10 12:02) [44]Буду дома - посмотрю, кто там и где -)
← →
Сергей М. © (2009-12-10 12:10) [45]
> Ляпа (10.12.09 12:02) [44]
Да, будь любезен)
← →
Ляпа (2009-12-10 12:16) [46]Буду -)
А пока о граблях... взято с habrahabr.ru/blogs/Delphi_for_PHP/40270/
Если после установки создать проект, на форму бросить какой-нибудь контрол и запустить, у некоторых могут вылезти ошибки:
Warning: require_once(vcl/vcl.inc.php) [function.require-once]: failed to open stream: No such file or directory in ... on line 2
Fatal error: require_once() [function.require]: Failed opening required "vcl/vcl.inc.php)" (include_path=".:/usr/local/php5/lib/php") in ... on line 2
Такие или практически такие. Причина простая — include_path в php не проинициализировался правильно. Первопричина — файлы настроек apache и php хранятся теперь для каждого юзверя отдельно в C:\Documents and Settings\%username%\Application Data\CodeGear\ Delphi for PHP\2.0\. Если имя пользователя указано с использованием отличных от латинских букв, то дирректива PHPIniDir в настройках apache работать не будет — то ли apache неверно её трактует, то ли php неправильно воспринимает. В общем есть два варианта — либо создать другого пользователя с именем, состоящим только из латинских букв, либо изменить конфиг apache так, чтобы он ссылался на копию php.ini, расположенную в «нормальной» директории. Для этого необходимо скопировать файл php.ini из C:\Documents and Settings\%username%\Application Data\CodeGear\ Delphi for PHP\2.0\php\ в папку типа c:\d2php\php\, а затем изменить не сам конфиг, а шаблон конфига (httpd.template.conf), причем не в Application Data, а в «C:\Program Files\CodeGear\Delphi for PHP\2.0\apache2\conf\», так чтобы PHPIniDir ссылался на вашу копию. В этом случае при изменениях настроек php через IDE придется либо дополнительно править этот php.ini вручную, либо копировать уже настроенный из Application Data.
← →
Сергей М. © (2009-12-10 13:10) [47]
> Ляпа (10.12.09 12:16) [46]
Все это я видел)
Но опять же - Апач-то причем ?
До него дело даже не доходит)
← →
Сергей М. © (2009-12-10 14:06) [48]Так, ситуация слегка проясняется)
На самом деле Апач причем, а опция "Internal webbrowser" - наглое враньё: никакого встроенного веб-сервера IDE не реализует и не использует. Стартует она (точнее пытается стартовать) все тот же Апач, который инсталлятор "выплюнул" в созданную под него при инсталляции папку и не сподобился даже минимально сконфигурировать его под последующее использование в составе и под контролем среды.
Просто бросил - и всё) .. Даже номера портов не соизволил сопрячь - в IDE он по дифолоту 3570, а в Апаче как был отродясь 80-м по дифолту, так и остался.
Продолжаем ковырять дальше)
← →
antonn © (2009-12-10 14:10) [49]Апач ведь не нуждается в инсталировании. Вполне себе работает будучи запущенным без каких либо упоминаний в реестрах.
← →
clickmaker © (2009-12-10 14:15) [50]> Internal webbrowser" - наглое враньё
так это же встроенный браузер, а не веб-сервер
← →
KilkennyCat © (2009-12-10 14:16) [51]а я все еще качаю. жуть.
← →
blackman © (2009-12-10 14:21) [52]Странная затея, писать на одном языке, что бы получить результат на другом.
Поставьте себе Денвер и отлаживайте свои творения в реальном времени.
Т.е. так как это обычно делается
← →
antonn © (2009-12-10 14:34) [53]сабж предлагает готовый фраемворк для GUI, типа VCL в обычном дельфи :)
← →
clickmaker © (2009-12-10 14:34) [54]> писать на одном языке, что бы получить результат на другом
а d4php, что, из паскаля в php переводит? )
← →
Ляпа (2009-12-10 14:37) [55]
> "выплюнул" в созданную под него при инсталляции папку и
> не сподобился даже минимально сконфигурировать его под последующее
> использование
А настройки где смотрел?
C:\Documents and Settings\%username%\Application Data\...............?
← →
Сергей М. © (2009-12-10 15:20) [56]
> clickmaker © (10.12.09 14:15) [50]
Я оговорился - Internal webserver, разумеется
> Ляпа (10.12.09 14:37) [55]
> настройки где смотрел?
Везде смотрел.
И в C:\Documents and Settings\%username%\Application Data\....\httpd.conf (он давно уже не используется после перенаправления мной пути к раб.папке)
и в C:\D4PHP\apache2\....\httpd.conf (а вот этот как раз сейчас и используется)
Везде указан 80-й порт, и изменение порта "втроенного" сервера в опциях IDE никак не отражается в рабочем конфиге Апача.
Да и шиш с ним, подправить не проблема, хотя и неудобно.
Вопро в другогм - с какого перепугу он, Апач, вдруг встал "встроенным" ?)
← →
clickmaker © (2009-12-10 15:23) [57]> вдруг встал "встроенным" ?)
встроенным в дистрибутив, видимо )
← →
Сергей М. © (2009-12-10 15:26) [58]
> Апач ведь не нуждается в инсталировании. Вполне себе работает
> будучи запущенным без каких либо упоминаний в реестрах
Не нуждается.
А вот сама D4PHP, imho, оч даже нуждается в его корректном элементарном конфигурировании в ходе своей инсталляции, коль она взяла на себя смелость обозвать Апач своим внутренним сервером)
И реестр тут ни причем.
← →
Сергей М. © (2009-12-10 15:28) [59]
> clickmaker © (10.12.09 15:23) [57]
Да мало ли чего туда еще "встроено")
← →
antonn © (2009-12-10 16:34) [60]
>
> Не нуждается.
> А вот сама D4PHP, imho, оч даже нуждается в его корректном
> элементарном конфигурировании в ходе своей инсталляции,
> коль она взяла на себя смелость обозвать Апач своим внутренним
> сервером)
> И реестр тут ни причем.
я к тому, зачем писать свой вебсервер, прикручивать к нему пхп, если можно взять готовое. Вообще сабж - большой косыль, он только запутывает.
А конфиг - мало ли что там на компе творится, небыло прав на файл, вот и не отконфигурил.
← →
Ляпа (2009-12-11 00:28) [61]
> оч даже нуждается в его корректном элементарном конфигурировании
> в ходе своей инсталляции,
Ну, на системе, где пользовательские папки никуда не перенаправлялись, всё ок:
C:\Documents and Settings\....\Application Data\CodeGear\Delphi for PHP\2.0\apache2\conf\httpd.conf
...
ServerRoot "C:/D4PHP/apache2"
Listen 3570
PHPIniDir "C:/Documents and Settings/..../Application Data/CodeGear/Delphi for PHP/2.0/php"
LoadModule php5_module "C:/D4PHP/php/php5apache2_2.dll"
и т.д.
C:\Documents and Settings\........\Application Data\CodeGear\Delphi for PHP\2.0\php\php.ini
← →
Ляпа (2009-12-11 00:33) [62][HKEY_CURRENT_USER\Software\CodeGear\Delphi for PHP\2.0\Internal webserver]
"PHP Directory"="C:\\D4PHP\\php"
"Port"="3570"
"DebugVCL"="1"
"ConvertUTF"="1"
← →
Ляпа (2009-12-11 00:40) [63][HKEY_CLASSES_ROOT\CLSID\{9419B6A2-9D73-11D4-BB79-B0BBF3DE2E23}]
@="PSFactoryBuffer"
[HKEY_CLASSES_ROOT\CLSID\{9419B6A2-9D73-11D4-BB79-B0BBF3DE2E23}\InProcServer32]
@="C:\\D4PHP\\debugger\\PHPDbgPS.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}]
@="PHP DBG Listener"
"AppID"="{FAB27285-9D20-11D4-BB79-C5E0247B842E}"
[HKEY_CLASSES_ROOT\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\LocalServer32]
@="C:\\D4PHP\\debugger\\DBGLIS~1.EXE"
[HKEY_CLASSES_ROOT\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\ProgID]
@="CoListener.CoListener.1"
[HKEY_CLASSES_ROOT\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\VersionIndependentProgID]
@="CoListener.CoListener"
← →
Ляпа (2009-12-11 01:18) [64][HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6A2-9D73-11D4-BB79-B0BBF3DE2E23}]
@="PSFactoryBuffer"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6A2-9D73-11D4-BB79-B0BBF3DE2E23}\InProcServer32]
@="C:\\D4PHP\\debugger\\PHPDbgPS.dll"
"ThreadingModel"="Both"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}]
@="PHP DBG Listener"
"AppID"="{FAB27285-9D20-11D4-BB79-C5E0247B842E}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\LocalServer32]
@="C:\\D4PHP\\debugger\\DBGLIS~1.EXE"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\ProgID]
@="CoListener.CoListener.1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9419B6C1-9D73-11D4-BB79-B0BBF3DE2E23}\VersionIndependentProgID]
@="CoListener.CoListener"
← →
Сергей М. © (2009-12-11 09:56) [65]
> Ляпа
А в конфигурационном меню PHP-дебагера в списке IDE COM-классов у тебя фигурирует что-нибудь ?
У меня этот список пуст ..
← →
Ляпа (2009-12-11 12:20) [66]DbgListener.ini
[init]
port=7869
timeout=30000
address=*
siteclass={00000000-0000-0000-0000-000000000000}
breakonload=1
breakonfinish=1
disable_check_updates=1
lastchk=39130
codepage=65001
Пусто
← →
Сергей М. © (2009-12-11 12:26) [67]
> Пусто
И отладчик у тебя при этом успешно работает - тормозит на брейкпойнтах и трассирует пошагово ?
← →
Ляпа (2009-12-11 12:32) [68]Насчёт пошагово не проверяла, на брекпойнте - затормозил.
← →
Сергей М. © (2009-12-11 12:38) [69]
> затормозил
Ну уже что-то)
Хорошо, а не мог бы ты привести параметры ком.строки старта Апача, которую формирует среда в твоих условиях при старте проекта ?
← →
Ляпа (2009-12-11 12:46) [70]C:\D4PHP\apache2\bin\httpd.exe -d C:/D4PHP/apache2 -d C:\DOCUME~1\......\APPLIC~1\CodeGear\DELPHI~1\2.0\apache2
← →
Ляпа (2009-12-11 12:47) [71]Path
C:\D4PHP\apache2\bin\httpd.exe
← →
Ляпа (2009-12-11 12:52) [72]http://www.almar.net.ru/temp/d4php.jpg
← →
Сергей М. © (2009-12-11 14:35) [73]У меня Апач не стартует.
Видимо, все по той же причине - килиллице в имени пользователя.
Вот протокол попытки ручного запуска:
C:\D4PHP\apache2\bin>httpd.exe -d C:/D4PHP/apache2 -d C:/DOCUME~1/МММ.ORG/APPLIC~1/CodeGear/DELPHI~1/2.0/apache2
(20024)The given path misformatted or contained invalid characters: httpd.exe: Invalid error log path C:/DOCUME~1/\xcc\xcc\xcc.ORG/APPLIC~1/CodeGear/DELPHI~1/2.0/apache2/logs/error.log.
Unable to open logs
Понимаю это так: в конфиге, лежащемем в
C:/DOCUME~1/МММ.ORG/APPLIC~1/CodeGear/DELPHI~1/2.0/apache2/conf
есть некие проблемы, и Апач пытается сообщить об этом записью в лог, пути к которому не находит.
Остается выяснить логику контроля за запуском Апача в самой IDE - то ли она ждет фактияеского старта Апача, то ли активности 3570-го порта, то ли и того и другого по очереди. На этом процессе ожидания, как я думаю, среда и начинает "тормозить".
??
что-то не в порядке
← →
Ляпа (2009-12-11 15:26) [74]Буду дома - поковыряю -) Поздно вечером...
В принципе, пути к лог-файлам можно настроить в том же httpd.conf
← →
Сергей М. © (2009-12-11 15:41) [75]> пути к лог-файлам можно настроить в том же httpd.conf
Тогда уж в httpd.template.conf..
← →
Ляпа (2009-12-11 15:45) [76]
> Тогда уж в httpd.template.conf..
Ну, для D4PHP - может быть и так, не могу проверить сейчас -)
← →
Сергей М. © (2009-12-11 16:24) [77]Установка тем или иным штатным образом требуемого значения переменной HOMEPATH (без кириллицы в пути) результата не дает - среда, кажется, игнорирует переменную.
Подозреваю, что D4PHP берет путь к раб.папке пользователя непосредственно из реестра, а не из HOMEDRIVE/HOMEPATH-переменных окружения.
Надо бы проверить под лупой ..
← →
clickmaker © (2009-12-11 16:59) [78]> D4PHP берет путь к раб.папке пользователя непосредственно
> из реестра, а не из HOMEDRIVE/HOMEPATH
я бы на их месте воспользовался SHGetSpecialFolderPath
← →
blackman © (2009-12-11 22:09) [79]clickmaker © (10.12.09 14:34) [54]
а d4php, что, из паскаля в php переводит? )
Разработчики DELPHI думающие и пишущие на Паскале переводят на PHP свои идеи :)
← →
Ляпа (2009-12-12 02:07) [80]
> Сергей М. © (11.12.09 15:41) [75]
>
> > пути к лог-файлам можно настроить в том же httpd.conf
>
> Тогда уж в httpd.template.conf..
Изменения в шаблоне конфига (httpd.template.conf),причем не в Application Data, а в «C:\Program Files\CodeGear\D4PHP\2.0\apache2\conf\»
должны помочь. (Проверено - логи пишутся по "новым" путям)
Примерно так:
#ErrorLog "%LOG_FOLDER%error.log"
ErrorLog "C:/D4PHP/apache2/logs/error.log"
# CustomLog "%LOG_FOLDER%access.log" common
CustomLog "C:/D4PHP/apache2/logs/access.log" common
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.008 c