douzhoulei8959
douzhoulei8959
2011-10-04 15:49

无法让Zorba使用PHP和Nginx在Windows 7上运行

已采纳

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;

php-cgi.exe error

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;

Zorba Crash

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.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • douchun1948 douchun1948 10年前

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

    点赞 评论 复制链接分享
  • dongzhenshen7435 dongzhenshen7435 10年前

    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

    点赞 评论 复制链接分享
  • dongpeihui1051 dongpeihui1051 9年前

    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

    点赞 评论 复制链接分享