AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi CGI <-> MySQL Problem
Thema durchsuchen
Ansicht
Themen-Optionen

CGI <-> MySQL Problem

Ein Thema von Shin-Raziel · begonnen am 2. Apr 2007
Antwort Antwort
Benutzerbild von Shin-Raziel
Shin-Raziel

Registriert seit: 24. Nov 2005
Ort: Kaiserslautern
3 Beiträge
 
Delphi 7 Enterprise
 
#1

CGI <-> MySQL Problem

  Alt 2. Apr 2007, 18:03
Datenbank: MySQL • Version: 5.0 • Zugriff über: Mittels PHP-Scripten
Hallo allerseits,

Mein Problem liegt in einem Aufruf von PHP als CGI. Meine Delphi-Applikation ruft die php-cgi.exe auf und übergibt ihr in einem String die ensprechenden Umgebungsvariablen, also Hostname, QueryString, usw.

Das Funktioniert alles ganz wunderbar. Nur streikt dann die TCP/IP Verbindung zu MySQL. PHP kann nicht auf die Datenbank zugreifen. Rufe ich den PHP Interpreter als CLI auf, so funktioniert alles, wie es soll, und die Datenbankverbindung haut hin. Aber ich will die CGI, und nicht die CLI

Das ganze wird über GetConsoleOutput realisiert (denke mal, dass diese Funktion soweit klar ist, da es viele Beispiele dafür im Netz gibt).
Delphi-Quellcode:
//...
var
CallPHP, EnvStr: string;
OutList, ErrList: TStringList;
//...
// CallPHP wird mit einem Wert belegt, der aus der Config-INI des Programms gelesen wird.
// QueryStr wird dynamisch erzeugt. Beim Testen wurde der soweit einwandfrei an PHP übergeben und ausgewertet.
//...
  EnvStr :=
  'SERVER_SOFTWARE='   + ExtractFileName(ParamStr(0)) + #0 +
  'REDIRECT_STATUS='   + 'ALLOWED' + #0 +
  'PATH_TRANSLATED='   + filePath + #0 +
  'QUERY_STRING='      + QueryStr + #0 +
  'SERVER_NAME='       + JvComputerInfoEx1.Identification.LocalComputerName + #0 +
  'GATEWAY_INTERFACE=' + 'CGI/1.0' + #0 +
  'SERVER_PROTOCOL='   + '1.1' + #0 +
  'SERVER_PORT='       + '80' + #0 +
  'REQUEST_METHOD='    + Method + #0 +
  'SCRIPT_NAME='       + ExtractFileName(filePath) + #0 +
  'REMOTE_ADDR='       + JvComputerInfoEx1.Identification.IPAddress + #0 +
  'HTTP_ACCEPT='       + 'text/html' + #0;
//...
  GetConsoleOutput(CallPHP, EnvStr, OutList, ErrList);
//...
Es funktioniert alles von Delphi aus reibungslos. Aber PHP bekommt keine Verbindung zur MySQL.
Ich bekommen immer nur die Fehlermeldung

Can't create TCP/IP socket (10106)


Ich habe nun schon herumprobiert, die Werte in der php.ini bei der Sektion [mysql] zu ändern, ohne Erfolg, Websuchen bringen mir den Fehler nur in Verbindung mit diversen kleinen Webserver-Projekten, doch wirklich einen Ansatz, was es sein könnte, hab ich noch nicht.

Fehlt da irgendetwas im EnvStr, was noch mitübergeben werden muss, wovon ich nun nichts weiß ?
Oder liegt der Fehler irgendwo in meinen PHP-Einstellungen ?

Schonmal vielen Dank im Voraus.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz