Jump to content
  • 0

Filemaker Server PHP Error


dudematters

Question

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 to comment

20 answers to this question

Recommended Posts

  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment
  • 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 to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...