Ga naar inhoud
  • 0

Filemaker Server PHP Error


dudematters

Vraag

Ik heb een webserver (linux CentOS) draaien in een datacenter met daarop de filemaker php bestanden (FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip) die verwijst naar een filemaker 13 server (Mac OSX Server) op een lokaal netwerk.

Op het locale netwerk draait de filemaker applicatie en de php code goed binnen apache van OSX (draait al jaren goed). Omdat we een certificaat willen installeren op de website hebben we de webserver naar extern verplaatst. Door middel van het FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip en de poorten open op de firewalls hebben we een goede connectie van de webserver naar de fm server (getest).

 

Nu in mijn code krijg ik opeens foutmeldingen;

 

Fatal error: Class 'FileMaker_Command_Find' not found in /home/admin/FileMaker/FileMaker/Implementation/FileMakerImpl.php on line 122

 

En ik begrijp niet waardoor dit gegenereerd wordt. De link binnen php.ini naar de filemaker.php is goed. De filemaker.php is daadwerkelijk van de server installatie, dus versie conflicten zou ook niet kunnen. Php Date en Php Curl zijn goed geinstalleerd en draaien. Weet iemand wat deze fout veroorzaakt?

Link naar reactie

20 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Dag Felix,

 

Dank je voor je snelle antwoord. Het lijkt inderdaad daarop. Een dir hoger staat inderdaad het bestand Find.php in /Command.

De rechten staan goed, ik heb ze even (onveilig) op 777 gezet, alleen voor de test.

 

Het lijkt erop dat het pad niet helemaal goed staat als ik jou goed begrijp.

in mijn php.ini staat:

include_path = ".:/home/admin/FileMaker:/usr/local/bin/php:/usr/local/bin/pear"

waar /home/admin/FileMaker de map is waar de Filemaker Api Php zip in uitgepakt staat.

 

Als ik volg wat er in FileMakerImpl.php staat: dirname(__FILE__) . /../Command/Find.php en de dirname(__FILE__) is de locatie waar FileMakerImpl.php staat moet dit kloppen en gevonden worden...

Link naar reactie
  • 0
Je kunt eens kijken wat het resultaat is wanneer je het pad in FileMakerImpl.php hardcoded. (Moet eigenlijk hardcodet zijn maar dat ziet er echt raar uit :) )

"hardcoded" is het voltooid deelwoord in het engels.

"hardcodet" is als 3e persoon enkelvoud geconstrueerde onzin, "hardcode" staat niet in Van Dale, maar GoogleTranslation geeft het wel als nederlands woord. FWIW.

"hardcode" is correct als je engels wilt praten.

Als je nederlands wilt spreken is het "hard codeert".

Link naar reactie
  • 0

Hallo HBrendel,

 

Dat is helaas niet zo 1-2-3 te doen, want ook dat bestand verwijst weer naar andere bestanden en zo moet ik alle FM-PHP scripts gaan aanpassen.

Er staat iets niet goed, al kan ik het niet vinden. Even voor de duidelijkheid, het is FMS12 die draait (geen FMS13). Wellicht zijn de PHP instellingen daarvoor anders...

Link naar reactie
  • 0

Oke, ik heb het in FielMakerImpl.php alleen op het Find.php hardcoded....

 require_once '/home/admin/FileMaker/Command/Find.php';

De error wordt anders, namelijk;

Warning: require_once(/home/admin/FileMaker/Command/Find.php) [function.require-once]: failed to open stream: No such file or directory in /home/admin/FileMaker/FileMaker/Implementation/FileMakerImpl.php on line 121

Fatal error: require_once() [function.require]: Failed opening required '/home/admin/FileMaker/Command/Find.php' (include_path='.:/home/admin/FileMaker:/home/admin/FileMaker/Filemaker:/usr/local/bin/php:/usr/local/bin/pear') in /home/admin/FileMaker/FileMaker/Implementation/FileMakerImpl.php on line 121

Link naar reactie
  • 0

Ik heb dat al op verschillende manieren geprobeerd;

 

/../ zoals het in het originele bestand staat zou goed moeten zijn als ik uitga van de locatie FileMakerImpl.php...

 

Als ik uitga van mijn applicatie dan zou het pad /../../../../../Filemaker/Command/Find.php moeten zijn om bij de Find.php te komen...

 

In de map /home/admin/Filemaker staan de Filemaker.php en de submap FileMaker met daarin de map Implementation waaronder het bestand FileMakerImpl.php staat (zie screenshot).

 

In de map /home/admin/domains/testsite.nl/public_html/klanten/data/ staat mijn login.php die de Find.php nodig heeft...

 

in mijn actieve php.ini staat het include_path wel goed, wijst naar de goede mappen...

 

Beide opties geven geen goed resultaat...

5a758dd34e010_Screen2014-12-05om12_42_02.png.eae030bb2c859133f8ea9308f4ebfda2.png

Link naar reactie
  • 0

Dus zou het iets met magic_quotes o.i.d. te maken hebben (php instelling)?

 

in mijn php instellingen op de (Centos) web server staat

 

'./configure' '--with-apxs2' '--with-curl=/usr/local/lib' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gettext' '--with-jpeg-dir=/usr/local/lib' '--with-freetype-dir=/usr/local/lib' '--with-imap=/usr/lib/dovecot/imap' '--with-imap-ssl' '--with-kerberos' '--with-openssl' '--with-mcrypt' '--with-mhash' '--with-xsl' '--with-mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-pcre-regex=/usr/local' '--with-pdo-mysql=/usr' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-zlib' '--with-zlib-dir=/usr/local/lib' '--enable-zip' '--with-iconv=/usr/local' '--with-mime-magic' '--enable-soap' '--enable-exif' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-mbstring'

 

Dus '--enable-magic-quotes' staat aan...

Link naar reactie
  • 0

Dank voor deze tips, door middel van de php handleiding heb ik de volgende code herschreven...

 define('__ROOT__', dirname(dirname(__FILE__)));
require_once (__ROOT__). '/Command/Add.php';

Helaas mond dit uit in een andere error, heel wat cryptischer;

 

Error: 3 - Command is unavailable (for example, wrong operating system, wrong mode, etc.)

 

Als ik ga google'n' op deze fout wordt ik niet veel wijzer... krijg alleen maar lijsten van Filemaker te zien dat dit een fout is.... :roll:

Link naar reactie
  • 0

Door debuggen ben ik erachter gekomen dat deze fout wordt veroorzaakt door het commando;

 

ExitOnError($layout);

 

in mijn code. Als ik dit commando comment dan volgt gelijk de volgende error;

 

Fatal error: Class 'FileMaker_Command_Find' not found in /home/admin/FileMaker/FileMaker/Implementation/FileMakerImpl.php on line 127

 

en ben weer terug bij af... ook al heb ik hier wel de aanpassing gedaan met de define('__ROOT__', dirname(dirname(__FILE__))); waardoor de rest van de commandos wel draaien.

 

Ook hier heb ik weer het gevoel dat het allemaal te maken heeft met het niet kunnen vinden van de juiste bestanden en paden....

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...