Jump to content
  • 0

Filemaker Server PHP Error


dudematters

Question

Posted

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?

20 answers to this question

Recommended Posts

  • 0
Posted

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...

  • 0
Posted
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".

  • 0
Posted

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...

  • 0
Posted

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

  • 0
Posted

Is er een groot verschil tussen php versies wat dit wellicht veroorzaakt?

 

Op mijn webserver heb ik

PHP Version 5.3.29
waar ik de errors krijg..

Op de lokale OSX server heb ik

PHP Version 5.3.13
waar alles goed draait...

 

Moet het wellicht daarin gezocht worden?

  • 0
Posted

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

  • 0
Posted

Dit staat er letterlijk in de FileMakerImpl.php;

 

 function &newFindCommand($Vc6140495)
{
require_once dirname(__FILE__) . '/../Command/Find.php';
$Vab4d0a65 = new FileMaker_Command_Find($this, $Vc6140495);
return $Vab4d0a65;
}

 

en dit staat overal in de code...

  • 0
Posted

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...

  • 0
Posted

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:

  • 0
Posted

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....

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...