php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.02.2011, 10:22  
Neuer Benutzer
 
Registriert seit: 12.02.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
az_buster befindet sich auf einem aufstrebenden Ast
Standard OData mit PHP

Hallo zusammen,

ich habe ein Problem und das Netz hilft mir leider auch nicht wirklich weiter.

Ich möchte über das Open Data Protocol (OData) per PHP auf einen Service(SVC) zugreifen.
Allerdings komme ich mit der Einbindung der Client Library "OData SDK for PHP" nicht wirklich weiter. Auch die Dokumentation, welche dort dabei ist hilft mir nicht wirklich.

Ich bräuchte eine kurze Schritt für Schritt Anleitung, wie ist am Besten beginne oder die Library einbinde.

Ich hoffe mir kann hier jemand helfen. Wär echt super.

Schon mal Danke im voraus.
az_buster ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.02.2011, 17:45  
Benutzer
 
Benutzerbild von daemonTutorials
 
Registriert seit: 08.02.2011
Beiträge: 37
PHP-Kenntnisse:
Fortgeschritten
daemonTutorials zeigte ein beschämendes Verhalten in der Vergangenheit
daemonTutorials eine Nachricht über Skype™ schicken
Standard

versuch es mal mit:
PHP-Code:
require_once('libs/qdata/qdata.php'); 
Je nachdem wie die Hauptdatei heißt!
__________________
MfG DaemonTutorials - hoffe ich habe geholfen!

Mitwirkend: http://bogensport-lingen.de
daemonTutorials ist offline   Mit Zitat antworten
Alt 12.02.2011, 18:20  
Erfahrener Benutzer
 
Registriert seit: 26.12.2010
Beiträge: 175
PHP-Kenntnisse:
Anfänger
elise befindet sich auf einem aufstrebenden Ast
Standard

bin unsicher, aber falls du die Installation meinst:


Gerade mal die OData angeschaut.

Du musst (typischerweise) nach der readme.txt vorgehen.

Habe den Folder mal in meine normale Umgebung genommen und gestartet, dazu noch folgender Hinweis: die Jungs und Mädels des Projekts kommen wohl von Windows her, unter Linux musst du in der Datei common/ACSUtil.php die Slashes umstellen. Dann läufts.


aus der readme.txt:
Zitat:
1. Create a folder named, for instance, 'ODataphp' eg: C:\PHPLib\ODataphp

2. Copy the files and folders in the framework folder to the folder created above. Now your 'ODataphp' look like below:

C:\PHPLib\ODataphp
------------------------
|
|--- PHPDataSvcUtil.php
|--- Azure
|--- Common
|--- Context
|--- Credential
|--- Exception
|--- Extras
|--- Interfaces
|--- Parser
|--- Resource
|--- WebUtil


3. Add the path to the folder created in step 1 to the 'include_path' directive in php.ini
e.g.
include_path = ".;C:\PHPLib\ODataphp"

4. Create a variable called 'ODataphp_path' in the php.ini file and set it to the path where the OData toolkit for PHP was installed (step 1).
Open php.ini and search for 'Paths and Directories' section. Just below the definition of 'include_path' directive, add the following two lines:
;OData toolkit for PHP Library Path
ODataphp_path = "C:\PHPLib\ODataphp"

5. On Linux platform, make sure you have the php-xml module installed. This can be installed using yum as follows,
yum install php-xml

6. Enable php_xsl.dll in php.ini.

7. Enable php_curl.dll in php.ini.
ps: danach die Proxy Klasse nach Vorbild aus der Dokumentation bauen. Dazu braucht man einen wcf service. Der fehlt mir grad zum weitermachen, aber hier dann, wie beschrieben, php über Konsole starten und die Klasse bauen.

pps: habe eine offene gefunden, aber die ganze Sache ist pur für Windows User erstellt worden... Beispiel: wenn du eine Proxy Klasse erstellst (habe ich grad getan) hast du unter Linux gleich wieder ein Slash(\) Problem. Mit anderen Worten: falls du nicht unter Windows arbeitest, musst du selber Hand anlegen und alle Dateien durchsuchen. Sonst generiert er dir die Proxyklasse mit Backslash im Namen.

ppps: läuft. Im Grunde kannst du mit folgender Datenbank testen: http://services.odata.org/Northwind/Northwind.svc
Nach Anleitung der Dokumentation die Proxyklasse bauen (direkt über konsole)

Code:
$ php PHPDataSvcUtil.php /uri=http://services.odata.org/Northwind/Northwind.svc /out=/deinpfadzumserver/htdocs/OData/samples
und dort drunter dann einfach mal testen:

Code:
 $north= new NorthWindEntities();
 try{
	$res = $north->Execute("Customers('ALFKI')");
//	print_r($res);
 } catch(DataServiceRequestException $e){
	echo $e;
 }
 $cust= $res->Result[0];
 echo $cust->CompanyName;
raus kommt "Alfreds Futterkiste", Testdatenbank Microsoft.
__________________
OSL♥

Geändert von elise (12.02.2011 um 20:51 Uhr).
elise ist offline   Mit Zitat antworten
Alt 13.02.2011, 11:01  
Neuer Benutzer
 
Registriert seit: 12.02.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
az_buster befindet sich auf einem aufstrebenden Ast
Standard

Hallo elise,

danke für deine Hilfe. Hast mir schon ein wenig weitergeholfen.

Genau das ist das große Problem. Ich habe Debian als Server laufen und nicht Windows und bin unter Linux nicht so fit!

Mein Problem liegt jetzt aber noch in der Readme.txt beim Punkt 4, 5, 6 und 7

Zu 4.: Wenn in in die php.ini folgenden Eintrag schreibe, bleibt dies erfolglos:
Code:
;OData toolkit for PHP Library Path
ODataphp_path = "C:\PHPLib\ODataphp"
Wenn ich phpinfo() ausführe, kann ich die Variable ODataphp_path nicht finden.

Zu 5.: Muss dies installiert werden? Oder wie kann ich testen, ob dies installiert ist?

Zu 6. und 7.: Solche Einträge gibt es in der php.ini nicht!

Kannst du mir hier noch einen Tip geben, wie ich weitermachen bzw. was ich falsch mache?!

Vielen Dank schon im voraus an euch alle!
az_buster ist offline   Mit Zitat antworten
Alt 13.02.2011, 11:55  
Erfahrener Benutzer
 
Registriert seit: 26.12.2010
Beiträge: 175
PHP-Kenntnisse:
Anfänger
elise befindet sich auf einem aufstrebenden Ast
Standard

Workaround für die php.ini

ändere mal in der PHPDataSvcUtil.php

100 // $xsl_path = get_cfg_var('ODataphp_path');
101 $xsl_path = "/deinPfadunterLinux/OData/ODataphp";

bei mir hatte er Probleme mit der get_cfg_var(), habe deshalb aus Schnelligkeitsgründen mal eben dies Workaround genutzt.

Du brauchst curl, muss also installiert sein, ebenso xml und xls.
Ist bei mir installiert, muss freigeschaltet werden in der php.ini, nicht vergessen, Server neu starten.

Funktioniert dann fein, ist aber eben eine Windowsbib, müsste mal eine/r korrigieren
__________________
OSL♥
elise ist offline   Mit Zitat antworten
Alt 13.02.2011, 13:45  
Neuer Benutzer
 
Registriert seit: 12.02.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
az_buster befindet sich auf einem aufstrebenden Ast
Standard

Also, ich bin schon ein großes Stück weiter.
- Pfad direkt in der PHPDataSvcUtil.php angegeben
- php5-curl installiert
- php5-xsl installiert
- beide in die php.ini eingebunden

Aber: Wenn ich jetzt
Code:
php /srv/www/vhosts/test/odataphp/PHPDataSvcUtil.php /uri=http://services.odata.org/Northwind/Northwind.svc /out=/srv/www/vhosts/test/odataphp
ausführe bringt er mir einen Fehler:

Error:Request for metadata failed; couldn't connect to host!

Und hier komme ich jetzt nicht mehr weiter! Welche Metadata fehlen?
az_buster ist offline   Mit Zitat antworten
Alt 13.02.2011, 14:07  
Erfahrener Benutzer
 
Registriert seit: 26.12.2010
Beiträge: 175
PHP-Kenntnisse:
Anfänger
elise befindet sich auf einem aufstrebenden Ast
Standard

sieht ehrlich gesagt erstmal nach einem Curl Problem aus.

1.Curl läuft? Teste Curl einfach mal eben, hol dir irgendeine Seite aus dem Netz.
2.Sitzt du hinter einem Proxy? Dann les die zu übergebenden Paramter weiter nach: OData/doc/User_Guide.htm
__________________
OSL♥
elise ist offline   Mit Zitat antworten
Alt 13.02.2011, 14:26  
Neuer Benutzer
 
Registriert seit: 12.02.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
az_buster befindet sich auf einem aufstrebenden Ast
Standard

Curl läuft. Wird auch in der phpinfo() angezeigt.

Es liegt am Proxy. Wenn ich einen Service unseres Unternehmens probiere, klappt der Aufruf der PHPDataSvcUtil.php und es wird eine Datei generiert.

SUPER!!!!!!! Bin schon mal viel viel weiter gekommen!
Danke nochmals für die Hilfe bisher.

Jetzt muss ich nur noch versuchen, irgendwelche Daten über den Service zu erhalten.

Wenn ich hier noch Probleme habe, würde ich mich nochmal melden.

Nochmals vielen Dank!!!!
az_buster ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
get_cfg_var(\'odataphp_path\');, odata php, php odata, odata php linux, odata wiki, odata, odataphp_path, php odata server, odata php example, odata php tutorial, was ist odata, phpdatasvcutil.php problem, odata php credential, deutsches odata tutorial, odata sdk für php installieren, odata sdk für php installieren groß odata phplib, php odata service, wikipedia odata, odata linux, phpdatasvcutil.php php_xsl

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum