Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.018 c
13-1124465855
FUNKy
2005-08-19 19:37
2010.02.21
DataSet + WebService + ASP.NET + Delphi 2005 = трабл


15-1260658521
Германн
2009-12-13 01:55
2010.02.21
Blacklist в почтовых (email) сообщениях.


15-1260546289
test
2009-12-11 18:44
2010.02.21
Форум и вопросы


4-1229323099
Zy
2008-12-15 09:38
2010.02.21
Форма в WinApi


1-1214293069
dreamse
2008-06-24 11:37
2010.02.21
Перехват запуска приложения