问题
I'm trying to install Zorba on a Windows 7 machine with the help of these instructions. I've completed the "Verify Zorba" section ok, but I can't complete the section "Enable Zorba extension in PHP". When I attempt to restart PHP, a Windows dialog box pops up saying;
Do I need to compile from source? The instructions say to compile Zorba from source but instead have downloaded the Windows installation package from the Zorba download page. Do I also have to compile from source? Surely not?
Missing zorba_api_wrapper.php The instructions say "locate the file zorba_api_wrapper.php" but I can't find a file of that name. There is a file called zorba_api.php so I've used that instead. Is that the correct file?
php-cgi.exe I'm running the CGI version of PHP. I start it from the command prompt by doing;
php-cgi -b 127.0.0.1:9000
Could that be what's causing the error dialog? I guess it's more common to have Apache start PHP. (I'm using Nginx not Apache.)
Update
As suggested by Rodolfo, I've added C:\Program Files\Zorba XQuery Processor 2.0.2\bin
to the PATH
environment variable and uninstalled an older version of Zorba. Now when I try to start PHP by doing;
php-cgi -b 127.0.0.1:9000
I get a different Windows dialog;
The info in the Problem Details is;
Problem signature:
Problem Event Name: APPCRASH
Application Name: php-cgi.exe
Application Version: 5.3.2.0
Application Timestamp: 4b8ec866
Fault Module Name: php5ts.dll
Fault Module Version: 5.3.2.0
Fault Module Timestamp: 4b8ec7e7
Exception Code: c0000005
Exception Offset: 000f56c0
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 2057
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
If I remove the line extension=zorba_api.dll
from php.ini
, PHP starts ok.
回答1:
>>Do I need to compile from source?
Windows Installation Package is fine, this should work.
>>Missing zorba_api_wrapper.php
This is included along with zorba_api.dll in [ZORBA_INSTALL_DIR]\share\php
The error could be caused by two reasons:
a) zorba_api.dll is not able to locate zorba_simplestore.dll. Make sure your zorba_api.dll is able to reach zorba_simplestore.dll, the easy way is through PATH environment variable.
b) you have an older zorba_api.dll not related to a newer zorba_simplestore.dll. Make sure you don't have an older version of zorba colliding with your current version.
回答2:
The error, Fault Module Name: php5ts.dll, while starting the Apache server is a known date bug (thread safety issue).
The work around was to modify httpd.conf as follows:
LoadModule php5_module "C:/PHP/php5apache2_2.dll"
PHPIniDir "C:/PHP"
# added
Loadfile "C:/PHP/php5ts.dll"
Loadfile "C:/PHP/libpq.dll"
See this PHP Bug Report for more detail
回答3:
In my case compile option wasn't macth bettween zorba_api.dll and PHP. Then I cange PHP from VC6 to VC9.
But be sure If you use Apache, Apache also has to change to the virsion which let work PHP-VC9.
PHP can't initialize zorba_api's module
来源:https://stackoverflow.com/questions/7650585/cant-get-zorba-working-on-windows-7-with-php-and-nginx