Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
11-1190008553
Nikfel
2007-09-17 09:55
2010.02.21
Как добавить изображение в TKolPopupMenu.


2-1261380806
JohnKorsh
2009-12-21 10:33
2010.02.21
Вопрос по компоненту UDPServer (INDY).


2-1261395946
RWolf
2009-12-21 14:45
2010.02.21
TIdHTTPServer: не устанавливается слушающий порт


2-1261259931
Б
2009-12-20 00:58
2010.02.21
Чёрно-белой растр.


2-1261424330
Drowsy
2009-12-21 22:38
2010.02.21
ComponentName.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский