|
From: <php...@li...> - 2009-03-06 17:04:16
|
Hi, please use one of the php mailing lists instead. Or use the bug tracker on php.net. php should not crash if you force it to load foreign dlls. However, as I understand this issue, you haven't installed php correctly. Copying arbitrary dll files into php doesn't help if the dlls use a different abi than the php. But I know that installing php on windows isn't easy, the windows installer doesn't allow one to install both, other-cgi and apache/iis sapi. And selecting everything will crash the php installation immediately. Regards. Jost Boekemeier php...@li... wrote: >If you can't load any php-extensions this is not a problem with the php java >bridge. >first try to figure that one out.. probably there are some problems with >your path. > >next, have you looked at the stack trace, especially the > >"have you started php-cgi with >the environment setting PHP_FCGI_MAX_REQUESTS=5000? " part? >have you set the environment variable? > >the php-java bridge works by invoking either a servlet on the java server >side >if you want to use java from within php >or certain php-scripts on the php server side if you want to use php from >within java. > >it looks like you want to use php from within java, but the php-process on >the server side >died (or you have not started the php-webserver) and because of this you get >the connection-error/IOException.. > >regards, >dominik > >2009/3/6 <php...@li...> > >> BTW, I wanted to mention, I have already tried some of the possible >> solutions I have found on the mailing-list archives here. >> >> - I have unset PHPRC and removed C:\PHP from windows Path, restarted Tomcat >> - no effect >> - I have changed prefer_system_php_exec to Off in web.xml, restarted Tomcat >> - no effect >> - C:\PHP\php-cgi -i does not crash >> >> On Fri, Mar 6, 2009 at 8:25 AM, Sasvata Chatterjee < >> sas...@gm...> wrote: >> >> > Hi, >> > >> > I am trying to use the bridge to run PHP5 under Tomcat on Windows XP. I >> > have started with the JavaBridge.war in webapps, and I can run >> > http://localhost:8080/JavaBridge/test.php fine. I was having trouble >> > loading the MySQL extension, and thought it was a problem with >> > communications to MySQL. But, I have finally figured out that I can't >> load >> > any PHP extensions at all, so I'll stick to mentioning php_bz2.dll. In >> the >> > Windows path, C:\PHP is included. >> > >> > The versions I have: >> > Tomcat-6.0.18 >> > PHP-5.2.6 >> > JavaBridge-5.4.3.3 >> > JDK-1.6.0_12 >> > >> > I have tried setting the registry to use C:\PHP\php.ini since my >> > command-line php executable loads the .ini and extensions, but it made no >> > difference under JavaBridge. For now, I am using WEB-INF\cgi\php.ini, as >> > confirmed by the output from test.php. From the default php.ini that came >> > with JavaBridge.war, all I have done is change the following: >> > >> > extensions="C:\PHP\ext\" >> > extension=php_bz2.dll >> > >> > and I get (if I restore those two lines, restart Tomcat, and access >> > test.php, everything works): >> > HTTP Status 500 - >> > ------------------------------ >> > >> > *type* Exception report >> > >> > *message* >> > >> > *description* *The server encountered an internal error () that prevented >> > it from fulfilling this request.* >> > >> > *exception* >> > >> > javax.servlet.ServletException: PHP FastCGI instance failed. >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:395) >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > >> > *root cause* >> > >> > php.java.servlet.fastcgi.ConnectionException >> > >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:55) >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> > >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > >> > *root cause* >> > >> > java.io.IOException: Protocol error >> > >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> > >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> > >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > >> > *note* *The full stack trace of the root cause is available in the Apache >> > Tomcat/6.0.18 logs.* >> > In the Tomcat logs, I get: >> > >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.ApplicationContext log >> > INFO: PHP application terminated unexpectedly, have you started php-cgi >> > with the environment setting PHP_FCGI_MAX_REQUESTS=5000? Error: >> > php.java.servlet.fastcgi.ConnectionException >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.StandardWrapperValve >> invoke >> > SEVERE: Servlet.service() for servlet PhpCGIServlet threw exception >> > java.io.IOException: Protocol error >> > at >> > >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> > at >> > >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> > at >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> > at >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> > at >> > >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> > at php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> > at php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> > at php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> > at >> > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> > at >> > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> > at >> > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> > at >> > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> > at >> > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >> > at >> > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> > at >> > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> > at >> > >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >> > at >> > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >> > at >> > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >> > at >> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >> > at java.lang.Thread.run(Unknown Source) >> > >> > I have set the PHP_FCGI_MAX_REQUESTS env. var., but made no difference. >> > >> > What am I doing wrong? Thanks in advance, >> > >> > Shash >> > >> >> ------------------------------------------------------------------------------ >> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >> CA >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> -Strategies to boost innovation and cut costs with open source >> participation >> -Receive a $600 discount off the registration fee with the source code: >> SFAD >> http://p.sf.net/sfu/XcvMzF8H >> _______________________________________________ >> php-java-bridge-users mailing list >> php...@li... >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 17:50:51
|
The bridge starts php-cgi.exe from the %PATH%. How you configure your environment is up to you, our only requirement is that php-cgi.exe is available and functional. Regards. Jost boekemeier |
|
From: <php...@li...> - 2009-03-06 17:59:17
|
Depending on how you start java, as a windows service or from the cmd shell, the environment may differ, yes. If your software depends on a certain environment, php...@li... wrote: >Hi Jost, > >Please bear with me, I understand I am treading difficult ground here. PHP >is working fine for me. php-cgi called directly does not crash, and it is >loading DLLs/extensions just fine (as I can see from the HTML output of >"php-cgi -i". My current hunch is that the problem is in the launcher or how >the launcher is calling php-cgi (or a problem with the GCC libraries used >with the launcher interacting with the latest patched XP). > >One hint is that when I start php-cgi by hand, it uses "C:/Windows/php.ini" >but when started by launcher.exe by the bridge it uses >"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" (both of my php.ini >versions are the same). In other words, the environment isn't exactly >identical between the two ways of launching php-cgi. I saw the command line >used with launcher, but there is pipe name in there. Is there a way I could >run launcher.exe directly but substitute something else for the pipe? > >Thanks, >Shash > >PS: Once I eliminate the launcher as a potential problem, I'll definitely >post a PHP bug. Please bear with me. >On Fri, Mar 6, 2009 at 11:03 AM, < >php...@li...> wrote: > >> Hi, >> please use one of the php mailing lists instead. Or use the bug tracker on >> php.net. php should not crash if you force it to load foreign dlls. >> >> However, as I understand this issue, you haven't installed php correctly. >> Copying arbitrary dll files into php doesn't help if the dlls use a >> different abi than the php. >> >> But I know that installing php on windows isn't easy, the windows installer >> doesn't allow one to install both, other-cgi and apache/iis sapi. And >> selecting everything will crash the php installation immediately. >> >> Regards. >> Jost Boekemeier >> >> >> php...@li... wrote: >> >> >If you can't load any php-extensions this is not a problem with the php >> java >> >bridge. >> >first try to figure that one out.. probably there are some problems with >> >your path. >> > >> >next, have you looked at the stack trace, especially the >> > >> >"have you started php-cgi with >> >the environment setting PHP_FCGI_MAX_REQUESTS=5000? " part? >> >have you set the environment variable? >> > >> >the php-java bridge works by invoking either a servlet on the java server >> >side >> >if you want to use java from within php >> >or certain php-scripts on the php server side if you want to use php from >> >within java. >> > >> >it looks like you want to use php from within java, but the php-process on >> >the server side >> >died (or you have not started the php-webserver) and because of this you >> get >> >the connection-error/IOException.. >> > >> >regards, >> >dominik >> > >> >2009/3/6 <php...@li...> >> > >> >> BTW, I wanted to mention, I have already tried some of the possible >> >> solutions I have found on the mailing-list archives here. >> >> >> >> - I have unset PHPRC and removed C:\PHP from windows Path, restarted >> Tomcat >> >> - no effect >> >> - I have changed prefer_system_php_exec to Off in web.xml, restarted >> Tomcat >> >> - no effect >> >> - C:\PHP\php-cgi -i does not crash >> >> >> >> On Fri, Mar 6, 2009 at 8:25 AM, Sasvata Chatterjee < >> >> sas...@gm...> wrote: >> >> >> >> > Hi, >> >> > >> >> > I am trying to use the bridge to run PHP5 under Tomcat on Windows XP. >> I >> >> > have started with the JavaBridge.war in webapps, and I can run >> >> > http://localhost:8080/JavaBridge/test.php fine. I was having trouble >> >> > loading the MySQL extension, and thought it was a problem with >> >> > communications to MySQL. But, I have finally figured out that I can't >> >> load >> >> > any PHP extensions at all, so I'll stick to mentioning php_bz2.dll. >> In >> >> the >> >> > Windows path, C:\PHP is included. >> >> > >> >> > The versions I have: >> >> > Tomcat-6.0.18 >> >> > PHP-5.2.6 >> >> > JavaBridge-5.4.3.3 >> >> > JDK-1.6.0_12 >> >> > >> >> > I have tried setting the registry to use C:\PHP\php.ini since my >> >> > command-line php executable loads the .ini and extensions, but it made >> no >> >> > difference under JavaBridge. For now, I am using WEB-INF\cgi\php.ini, >> as >> >> > confirmed by the output from test.php. From the default php.ini that >> came >> >> > with JavaBridge.war, all I have done is change the following: >> >> > >> >> > extensions="C:\PHP\ext\" >> >> > extension=php_bz2.dll >> >> > >> >> > and I get (if I restore those two lines, restart Tomcat, and access >> >> > test.php, everything works): >> >> > HTTP Status 500 - >> >> > ------------------------------ >> >> > >> >> > *type* Exception report >> >> > >> >> > *message* >> >> > >> >> > *description* *The server encountered an internal error () that >> prevented >> >> > it from fulfilling this request.* >> >> > >> >> > *exception* >> >> > >> >> > javax.servlet.ServletException: PHP FastCGI instance failed. >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:395) >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *root cause* >> >> > >> >> > php.java.servlet.fastcgi.ConnectionException >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:55) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *root cause* >> >> > >> >> > java.io.IOException: Protocol error >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> >> > >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *note* *The full stack trace of the root cause is available in the >> Apache >> >> > Tomcat/6.0.18 logs.* >> >> > In the Tomcat logs, I get: >> >> > >> >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.ApplicationContext log >> >> > INFO: PHP application terminated unexpectedly, have you started >> php-cgi >> >> > with the environment setting PHP_FCGI_MAX_REQUESTS=5000? Error: >> >> > php.java.servlet.fastcgi.ConnectionException >> >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.StandardWrapperValve >> >> invoke >> >> > SEVERE: Servlet.service() for servlet PhpCGIServlet threw exception >> >> > java.io.IOException: Protocol error >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > at php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > at php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > at php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > at >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> >> > at >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >> >> > at >> >> > >> >> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> >> > at >> >> > >> >> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >> >> > at >> >> > >> >> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >> >> > at >> >> > >> >> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >> >> > at >> >> > >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >> >> > at java.lang.Thread.run(Unknown Source) >> >> > >> >> > I have set the PHP_FCGI_MAX_REQUESTS env. var., but made no >> difference. >> >> > >> >> > What am I doing wrong? Thanks in advance, >> >> > >> >> > Shash >> >> > >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Open Source Business Conference (OSBC), March 24-25, 2009, San >> Francisco, >> >> CA >> >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> >> Enterprise >> >> -Strategies to boost innovation and cut costs with open source >> >> participation >> >> -Receive a $600 discount off the registration fee with the source code: >> >> SFAD >> >> http://p.sf.net/sfu/XcvMzF8H >> >> _______________________________________________ >> >> php-java-bridge-users mailing list >> >> php...@li... >> >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >> >> >------------------------------------------------------------------------------ >> >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >> CA >> >-OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> >-Strategies to boost innovation and cut costs with open source >> participation >> >-Receive a $600 discount off the registration fee with the source code: >> SFAD >> >http://p.sf.net/sfu/XcvMzF8H >> >_______________________________________________ >> >php-java-bridge-users mailing list >> >php...@li... >> >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >> ------------------------------------------------------------------------------ >> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >> CA >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> -Strategies to boost innovation and cut costs with open source >> participation >> -Receive a $600 discount off the registration fee with the source code: >> SFAD >> http://p.sf.net/sfu/XcvMzF8H >> _______________________________________________ >> php-java-bridge-users mailing list >> php...@li... >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 18:06:50
|
Depending on how you start java, as a win service or not, the env may differ, yes. However, neither the bridge nor php depend on this. And php libs don't need env entries either. php...@li... wrote: >Hi Jost, > >Please bear with me, I understand I am treading difficult ground here. PHP >is working fine for me. php-cgi called directly does not crash, and it is >loading DLLs/extensions just fine (as I can see from the HTML output of >"php-cgi -i". My current hunch is that the problem is in the launcher or how >the launcher is calling php-cgi (or a problem with the GCC libraries used >with the launcher interacting with the latest patched XP). > >One hint is that when I start php-cgi by hand, it uses "C:/Windows/php.ini" >but when started by launcher.exe by the bridge it uses >"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" (both of my php.ini >versions are the same). In other words, the environment isn't exactly >identical between the two ways of launching php-cgi. I saw the command line >used with launcher, but there is pipe name in there. Is there a way I could >run launcher.exe directly but substitute something else for the pipe? > >Thanks, >Shash > >PS: Once I eliminate the launcher as a potential problem, I'll definitely >post a PHP bug. Please bear with me. >On Fri, Mar 6, 2009 at 11:03 AM, < >php...@li...> wrote: > >> Hi, >> please use one of the php mailing lists instead. Or use the bug tracker on >> php.net. php should not crash if you force it to load foreign dlls. >> >> However, as I understand this issue, you haven't installed php correctly. >> Copying arbitrary dll files into php doesn't help if the dlls use a >> different abi than the php. >> >> But I know that installing php on windows isn't easy, the windows installer >> doesn't allow one to install both, other-cgi and apache/iis sapi. And >> selecting everything will crash the php installation immediately. >> >> Regards. >> Jost Boekemeier >> >> >> php...@li... wrote: >> >> >If you can't load any php-extensions this is not a problem with the php >> java >> >bridge. >> >first try to figure that one out.. probably there are some problems with >> >your path. >> > >> >next, have you looked at the stack trace, especially the >> > >> >"have you started php-cgi with >> >the environment setting PHP_FCGI_MAX_REQUESTS=5000? " part? >> >have you set the environment variable? >> > >> >the php-java bridge works by invoking either a servlet on the java server >> >side >> >if you want to use java from within php >> >or certain php-scripts on the php server side if you want to use php from >> >within java. >> > >> >it looks like you want to use php from within java, but the php-process on >> >the server side >> >died (or you have not started the php-webserver) and because of this you >> get >> >the connection-error/IOException.. >> > >> >regards, >> >dominik >> > >> >2009/3/6 <php...@li...> >> > >> >> BTW, I wanted to mention, I have already tried some of the possible >> >> solutions I have found on the mailing-list archives here. >> >> >> >> - I have unset PHPRC and removed C:\PHP from windows Path, restarted >> Tomcat >> >> - no effect >> >> - I have changed prefer_system_php_exec to Off in web.xml, restarted >> Tomcat >> >> - no effect >> >> - C:\PHP\php-cgi -i does not crash >> >> >> >> On Fri, Mar 6, 2009 at 8:25 AM, Sasvata Chatterjee < >> >> sas...@gm...> wrote: >> >> >> >> > Hi, >> >> > >> >> > I am trying to use the bridge to run PHP5 under Tomcat on Windows XP. >> I >> >> > have started with the JavaBridge.war in webapps, and I can run >> >> > http://localhost:8080/JavaBridge/test.php fine. I was having trouble >> >> > loading the MySQL extension, and thought it was a problem with >> >> > communications to MySQL. But, I have finally figured out that I can't >> >> load >> >> > any PHP extensions at all, so I'll stick to mentioning php_bz2.dll. >> In >> >> the >> >> > Windows path, C:\PHP is included. >> >> > >> >> > The versions I have: >> >> > Tomcat-6.0.18 >> >> > PHP-5.2.6 >> >> > JavaBridge-5.4.3.3 >> >> > JDK-1.6.0_12 >> >> > >> >> > I have tried setting the registry to use C:\PHP\php.ini since my >> >> > command-line php executable loads the .ini and extensions, but it made >> no >> >> > difference under JavaBridge. For now, I am using WEB-INF\cgi\php.ini, >> as >> >> > confirmed by the output from test.php. From the default php.ini that >> came >> >> > with JavaBridge.war, all I have done is change the following: >> >> > >> >> > extensions="C:\PHP\ext\" >> >> > extension=php_bz2.dll >> >> > >> >> > and I get (if I restore those two lines, restart Tomcat, and access >> >> > test.php, everything works): >> >> > HTTP Status 500 - >> >> > ------------------------------ >> >> > >> >> > *type* Exception report >> >> > >> >> > *message* >> >> > >> >> > *description* *The server encountered an internal error () that >> prevented >> >> > it from fulfilling this request.* >> >> > >> >> > *exception* >> >> > >> >> > javax.servlet.ServletException: PHP FastCGI instance failed. >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:395) >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *root cause* >> >> > >> >> > php.java.servlet.fastcgi.ConnectionException >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:55) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *root cause* >> >> > >> >> > java.io.IOException: Protocol error >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> >> > >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > >> >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> > *note* *The full stack trace of the root cause is available in the >> Apache >> >> > Tomcat/6.0.18 logs.* >> >> > In the Tomcat logs, I get: >> >> > >> >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.ApplicationContext log >> >> > INFO: PHP application terminated unexpectedly, have you started >> php-cgi >> >> > with the environment setting PHP_FCGI_MAX_REQUESTS=5000? Error: >> >> > php.java.servlet.fastcgi.ConnectionException >> >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.StandardWrapperValve >> >> invoke >> >> > SEVERE: Servlet.service() for servlet PhpCGIServlet threw exception >> >> > java.io.IOException: Protocol error >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> > at >> >> > >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> >> > at php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> >> > at php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> > at php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > at >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >> >> > at >> >> > >> >> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >> >> > at >> >> > >> >> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >> >> > at >> >> > >> >> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >> >> > at >> >> > >> >> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >> >> > at >> >> > >> >> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >> >> > at >> >> > >> >> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >> >> > at >> >> > >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >> >> > at java.lang.Thread.run(Unknown Source) >> >> > >> >> > I have set the PHP_FCGI_MAX_REQUESTS env. var., but made no >> difference. >> >> > >> >> > What am I doing wrong? Thanks in advance, >> >> > >> >> > Shash >> >> > >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Open Source Business Conference (OSBC), March 24-25, 2009, San >> Francisco, >> >> CA >> >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> >> Enterprise >> >> -Strategies to boost innovation and cut costs with open source >> >> participation >> >> -Receive a $600 discount off the registration fee with the source code: >> >> SFAD >> >> http://p.sf.net/sfu/XcvMzF8H >> >> _______________________________________________ >> >> php-java-bridge-users mailing list >> >> php...@li... >> >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >> >> >------------------------------------------------------------------------------ >> >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >> CA >> >-OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> >-Strategies to boost innovation and cut costs with open source >> participation >> >-Receive a $600 discount off the registration fee with the source code: >> SFAD >> >http://p.sf.net/sfu/XcvMzF8H >> >_______________________________________________ >> >php-java-bridge-users mailing list >> >php...@li... >> >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >> ------------------------------------------------------------------------------ >> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >> CA >> -OSBC tackles the biggest issue in open source: Open Sourcing the >> Enterprise >> -Strategies to boost innovation and cut costs with open source >> participation >> -Receive a $600 discount off the registration fee with the source code: >> SFAD >> http://p.sf.net/sfu/XcvMzF8H >> _______________________________________________ >> php-java-bridge-users mailing list >> php...@li... >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >> >> >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 18:41:51
|
>One hint is that when I start php-cgi by hand, it uses "C:/Windows/php.ini" >but when started by launcher.exe by the bridge it uses >"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" Is there a simple setting to make the launcher use the other php.ini? Please post your ultimate solution if/when you figure this out and get it working. thx, -Brad- |
|
From: <php...@li...> - 2009-03-06 18:31:47
|
php...@li... wrote: >By the way, I had a similar problem with not being able to load the SOAP >extension. I got it working by copying the php_soap.dll to the >C:\tomcat\webapps\JavaBridge\WEB-INF\cgi >directory and editing the php.ini file in that same (cgi) directory to the >following. As a test, if you do the same thing do you see SOAP enabled, as >well as your ini path set to >"C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini" in the phpinfo() output? > cheers,-Brad- >;; my C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini follows >;; >;; -*- mode: Scheme; tab-width:4 -*- >;; A simple php.ini > >;; extension_dir is this "cgi" directory >;;extension_dir=c:/php/ext >extension_dir=. > >;;;;;;;;;;;;;;;;;;;;;; >; Dynamic Extensions ; >;;;;;;;;;;;;;;;;;;;;;; >extension=php_soap.dll > >;; include php libraries from these directories >;; include_path=.:/usr/share/pear > >[soap] >; Enables or disables WSDL caching feature. >soap.wsdl_cache_enabled=1 >; Sets the directory name where SOAP extension will put cache files. >soap.wsdl_cache_dir="/tmp" >; (time to live) Sets the number of second while cached file will be used >; instead of original one. >soap.wsdl_cache_ttl=86400 > >On Fri, Mar 6, 2009 at 2:52 PM, Brad Baker <bba...@gm...> wrote: > >> Could the problem be you are setting the "extensions" directive in the >> php.ini instead of the "extension_dir" directive? >> >> >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 18:42:15
|
This will only work if you're using a matching abi version. There is a JavaBridgeTemplate.war w/o any php, if you use it, you should get a clear file not found error msg. I will check if recent versions run a system php-cgi from web-inf/cgi and load a .ini file from there. But this code hasn't changed since 2 years, so I think the only issue is the confusion caused by the older php-cgi.exe shipped with the JavaBridge demo. php...@li... wrote: >By the way, I had a similar problem with not being able to load the SOAP >extension. I got it working by copying the php_soap.dll to the >C:\tomcat\webapps\JavaBridge\WEB-INF\cgi >directory and editing the php.ini file in that same (cgi) directory to the >following. As a test, if you do the same thing do you see SOAP enabled, as >well as your ini path set to >"C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini" in the phpinfo() output? > cheers,-Brad- >;; my C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini follows >;; >;; -*- mode: Scheme; tab-width:4 -*- >;; A simple php.ini > >;; extension_dir is this "cgi" directory >;;extension_dir=c:/php/ext >extension_dir=. > >;;;;;;;;;;;;;;;;;;;;;; >; Dynamic Extensions ; >;;;;;;;;;;;;;;;;;;;;;; >extension=php_soap.dll > >;; include php libraries from these directories >;; include_path=.:/usr/share/pear > >[soap] >; Enables or disables WSDL caching feature. >soap.wsdl_cache_enabled=1 >; Sets the directory name where SOAP extension will put cache files. >soap.wsdl_cache_dir="/tmp" >; (time to live) Sets the number of second while cached file will be used >; instead of original one. >soap.wsdl_cache_ttl=86400 > >On Fri, Mar 6, 2009 at 2:52 PM, Brad Baker <bba...@gm...> wrote: > >> Could the problem be you are setting the "extensions" directive in the >> php.ini instead of the "extension_dir" directive? >> >> >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 19:04:54
|
Only binaries located in web-inf/cgi use that path. System executables are launched from home dir as cwd and w/o any special path or setting. php...@li... wrote: >>One hint is that when I start php-cgi by hand, it uses "C:/Windows/php.ini" >>but when started by launcher.exe by the bridge it uses >>"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" > >Is there a simple setting to make the launcher use the other php.ini? >Please post your ultimate solution if/when you figure this out and get it >working. >thx, -Brad- >------------------------------------------------------------------------------ >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA >-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise >-Strategies to boost innovation and cut costs with open source participation >-Receive a $600 discount off the registration fee with the source code: SFAD >http://p.sf.net/sfu/XcvMzF8H >_______________________________________________ >php-java-bridge-users mailing list >php...@li... >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users |
|
From: <php...@li...> - 2009-03-06 21:53:05
|
Thanks guys for the help (sorry, if you don't type your name in the message, I see the sender as "php-java-bridge-user" :-). So far still not much luck. Brad, I tried copying the php_bz2.dll into the cgi directory and changing "extension_dir=.". No go. I deleted JavaBridge, and put JavaBridgeTemplate5433.war and tried it. I get the following error, the pipe is not found: java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy) *type* Exception report *message* *description* *The server encountered an internal error () that prevented it from fulfilling this request.* *exception* javax.servlet.ServletException: PHP FastCGI server failed, switching off FastCGI SAPI. php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:389) php.java.servlet.CGIServlet.handle(CGIServlet.java:401) php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) *root cause* php.java.servlet.fastcgi.ConnectException php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:50) php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54) php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152) php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101) php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) php.java.servlet.CGIServlet.handle(CGIServlet.java:401) php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) *root cause* java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy) java.io.RandomAccessFile.open(Native Method) java.io.RandomAccessFile.<init>(Unknown Source) java.io.RandomAccessFile.<init>(Unknown Source) php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:48) php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54) php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152) php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101) php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) php.java.servlet.CGIServlet.handle(CGIServlet.java:401) php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) On Fri, Mar 6, 2009 at 1:04 PM, <php...@li... > wrote: > Only binaries located in web-inf/cgi use that path. > > System executables are launched from home dir as cwd and w/o any special > path or setting. > > > > php...@li... wrote: > > >>One hint is that when I start php-cgi by hand, it uses > "C:/Windows/php.ini" > >>but when started by launcher.exe by the bridge it uses > >>"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" > > > >Is there a simple setting to make the launcher use the other php.ini? > >Please post your ultimate solution if/when you figure this out and get it > >working. > >thx, -Brad- > > >------------------------------------------------------------------------------ > >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > >-OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > >-Strategies to boost innovation and cut costs with open source > participation > >-Receive a $600 discount off the registration fee with the source code: > SFAD > >http://p.sf.net/sfu/XcvMzF8H > >_______________________________________________ > >php-java-bridge-users mailing list > >php...@li... > >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > -OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > -Strategies to boost innovation and cut costs with open source > participation > -Receive a $600 discount off the registration fee with the source code: > SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > |
|
From: <php...@li...> - 2009-03-06 22:04:14
|
There maybe two problems. I deleted the .....\Tomcat-6.0\temp directory
just for the heck of it to see if the error message changed. Lo and behold,
I get an error message trying to find php-cgi. I have checked using both
Cygwin and the Command Prompt, that php.exe and php-cgi.exe is in the path.
But looks like launcher.exe is looking for an explicit path to php-cgi.exe:
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
javax.servlet.ServletException: An IO exception occured. Probably php was
not installed as "/usr/bin/php-cgi" or "c:/Program Files/PHP/php-cgi.exe"
or
"C:\ASF\Tomcat-6.0\webapps\JavaBridgeTemplate5433\WEB-INF\cgi\php-cgi-x86-windows[.sh]|[.exe]".
Please see "php_exec" in your WEB-INF/web.xml and WEB-INF/cgi/README for
details.
php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:361)
php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.io.IOException: Cannot run program "php-cgi" (in directory
"C:\Documents and Settings\sasvatac"): CreateProcess error=2, The system
cannot find the file specified
java.lang.ProcessBuilder.start(Unknown Source)
java.lang.Runtime.exec(Unknown Source)
php.java.bridge.Util$Process.start(Util.java:903)
php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1005)
php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1060)
php.java.servlet.PhpCGIServlet$CGIRunner.execute(PhpCGIServlet.java:248)
php.java.servlet.CGIServlet.handle(CGIServlet.java:401)
php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350)
php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.io.IOException: CreateProcess error=2, The system cannot find the file
specified
java.lang.ProcessImpl.create(Native Method)
java.lang.ProcessImpl.<init>(Unknown Source)
java.lang.ProcessImpl.start(Unknown Source)
java.lang.ProcessBuilder.start(Unknown Source)
java.lang.Runtime.exec(Unknown Source)
php.java.bridge.Util$Process.start(Util.java:903)
php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1005)
php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1060)
php.java.servlet.PhpCGIServlet$CGIRunner.execute(PhpCGIServlet.java:248)
php.java.servlet.CGIServlet.handle(CGIServlet.java:401)
php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350)
php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache
Tomcat/6.0.18 logs.
Apache Tomcat/6.0.18
On Fri, Mar 6, 2009 at 3:52 PM, Sasvata Chatterjee <
sas...@gm...> wrote:
> Thanks guys for the help (sorry, if you don't type your name in the
> message, I see the sender as "php-java-bridge-user" :-). So far still not
> much luck.
>
> Brad, I tried copying the php_bz2.dll into the cgi directory and changing
> "extension_dir=.". No go.
>
> I deleted JavaBridge, and put JavaBridgeTemplate5433.war and tried it. I
> get the following error, the pipe is not found:
>
> java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy)
>
>
> *type* Exception report
>
> *message*
>
> *description* *The server encountered an internal error () that prevented
> it from fulfilling this request.*
>
> *exception*
>
> javax.servlet.ServletException: PHP FastCGI server failed, switching off FastCGI SAPI.
>
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:389)
> php.java.servlet.CGIServlet.handle(CGIServlet.java:401)
> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350)
> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
>
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
> *root cause*
>
> php.java.servlet.fastcgi.ConnectException
> php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:50)
>
> php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54)
> php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152)
> php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101)
>
> php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200)
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421)
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374)
>
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382)
> php.java.servlet.CGIServlet.handle(CGIServlet.java:401)
> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350)
> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
>
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
> *root cause*
>
> java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy)
>
> java.io.RandomAccessFile.open(Native Method)
> java.io.RandomAccessFile.<init>(Unknown Source)
> java.io.RandomAccessFile.<init>(Unknown Source)
> php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:48)
>
> php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54)
> php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152)
> php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101)
>
> php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200)
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421)
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374)
>
> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382)
> php.java.servlet.CGIServlet.handle(CGIServlet.java:401)
> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350)
> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471)
>
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
> On Fri, Mar 6, 2009 at 1:04 PM, <
> php...@li...> wrote:
>
>> Only binaries located in web-inf/cgi use that path.
>>
>> System executables are launched from home dir as cwd and w/o any special
>> path or setting.
>>
>>
>>
>> php...@li... wrote:
>>
>> >>One hint is that when I start php-cgi by hand, it uses
>> "C:/Windows/php.ini"
>> >>but when started by launcher.exe by the bridge it uses
>> >>"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini"
>> >
>> >Is there a simple setting to make the launcher use the other php.ini?
>> >Please post your ultimate solution if/when you figure this out and get it
>> >working.
>> >thx, -Brad-
>>
>> >------------------------------------------------------------------------------
>> >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco,
>> CA
>> >-OSBC tackles the biggest issue in open source: Open Sourcing the
>> Enterprise
>> >-Strategies to boost innovation and cut costs with open source
>> participation
>> >-Receive a $600 discount off the registration fee with the source code:
>> SFAD
>> >http://p.sf.net/sfu/XcvMzF8H
>> >_______________________________________________
>> >php-java-bridge-users mailing list
>> >php...@li...
>> >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users
>>
>>
>> ------------------------------------------------------------------------------
>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco,
>> CA
>> -OSBC tackles the biggest issue in open source: Open Sourcing the
>> Enterprise
>> -Strategies to boost innovation and cut costs with open source
>> participation
>> -Receive a $600 discount off the registration fee with the source code:
>> SFAD
>> http://p.sf.net/sfu/XcvMzF8H
>> _______________________________________________
>> php-java-bridge-users mailing list
>> php...@li...
>> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users
>>
>>
>
|
|
From: <php...@li...> - 2009-03-06 22:18:14
|
SUCCESS!!! With MySQL extension at that :-) I copied C:/PHP to C:/Program Files/PHP, since that path is built in to either launcher or the servlet. Seems like I saw somewhere that you can actually provide a path to php-cgi as an init-parameter to the servlet. Summary: 1) JavaBridge.war (demo) has incorrect php-cgi binary, and uses php.ini from cgi directory. 2) JavaBridgeTemplate5433.war works better, but on Windows PHP must be installed in C:/Program Files/PHP (C:/PHP does not work, unless somehow init-parmas are changed in web.xml), extensions in C:/Program Files/PHP/ext. 3) Windows installation requires php.ini to be in C:\WINDOWS, unless you use the following registry key to put it somewhere else: HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath. 4) Just for completeness, not a JavaBridge issue: Don't use PHP installer for Windows, doesn't provide everything. Instead get the binary distribution and unzip manually into C:/Program Files/PHP, add C:/Program Files/PHP into Windows Path, add PHPRC=C:/Program Files/PHP env var. Modify php.ini to change extensions_dir=C:/Program Files/PHP/ext Thanks all for the help, and HTH others! Shash On Fri, Mar 6, 2009 at 4:03 PM, Sasvata Chatterjee < sas...@gm...> wrote: > There maybe two problems. I deleted the .....\Tomcat-6.0\temp directory > just for the heck of it to see if the error message changed. Lo and behold, > I get an error message trying to find php-cgi. I have checked using both > Cygwin and the Command Prompt, that php.exe and php-cgi.exe is in the path. > But looks like launcher.exe is looking for an explicit path to php-cgi.exe: > > type Exception report > > message > > description The server encountered an internal error () that prevented it > from fulfilling this request. > > exception > > javax.servlet.ServletException: An IO exception occured. Probably php was > not installed as "/usr/bin/php-cgi" or "c:/Program Files/PHP/php-cgi.exe" > or > "C:\ASF\Tomcat-6.0\webapps\JavaBridgeTemplate5433\WEB-INF\cgi\php-cgi-x86-windows[.sh]|[.exe]". > Please see "php_exec" in your WEB-INF/web.xml and WEB-INF/cgi/README for > details. > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:361) > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > root cause > > java.io.IOException: Cannot run program "php-cgi" (in directory > "C:\Documents and Settings\sasvatac"): CreateProcess error=2, The system > cannot find the file specified > java.lang.ProcessBuilder.start(Unknown Source) > java.lang.Runtime.exec(Unknown Source) > php.java.bridge.Util$Process.start(Util.java:903) > php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1005) > php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1060) > > php.java.servlet.PhpCGIServlet$CGIRunner.execute(PhpCGIServlet.java:248) > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > root cause > > java.io.IOException: CreateProcess error=2, The system cannot find the file > specified > java.lang.ProcessImpl.create(Native Method) > java.lang.ProcessImpl.<init>(Unknown Source) > java.lang.ProcessImpl.start(Unknown Source) > java.lang.ProcessBuilder.start(Unknown Source) > java.lang.Runtime.exec(Unknown Source) > php.java.bridge.Util$Process.start(Util.java:903) > php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1005) > php.java.bridge.Util$ProcessWithErrorHandler.start(Util.java:1060) > > php.java.servlet.PhpCGIServlet$CGIRunner.execute(PhpCGIServlet.java:248) > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > note The full stack trace of the root cause is available in the Apache > Tomcat/6.0.18 logs. > Apache Tomcat/6.0.18 > > On Fri, Mar 6, 2009 at 3:52 PM, Sasvata Chatterjee < > sas...@gm...> wrote: > >> Thanks guys for the help (sorry, if you don't type your name in the >> message, I see the sender as "php-java-bridge-user" :-). So far still not >> much luck. >> >> Brad, I tried copying the php_bz2.dll into the cgi directory and changing >> "extension_dir=.". No go. >> >> I deleted JavaBridge, and put JavaBridgeTemplate5433.war and tried it. I >> get the following error, the pipe is not found: >> >> java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy) >> >> >> *type* Exception report >> >> *message* >> >> *description* *The server encountered an internal error () that prevented >> it from fulfilling this request.* >> >> *exception* >> >> javax.servlet.ServletException: PHP FastCGI server failed, switching off FastCGI SAPI. >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:389) >> php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> >> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> *root cause* >> >> php.java.servlet.fastcgi.ConnectException >> php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:50) >> >> >> php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54) >> php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152) >> php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101) >> >> >> php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200) >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421) >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> *root cause* >> >> java.io.FileNotFoundException: \\.\pipe\C:\ASF\Tomcat-6.0\temp\JavaBridge5440005472872131044.socket (All pipe instances are busy) >> >> >> java.io.RandomAccessFile.open(Native Method) >> java.io.RandomAccessFile.<init>(Unknown Source) >> java.io.RandomAccessFile.<init>(Unknown Source) >> php.java.servlet.fastcgi.NPChannelName.doConnect(NPChannelName.java:48) >> >> >> php.java.servlet.fastcgi.NPChannelName.connect(NPChannelName.java:54) >> php.java.servlet.fastcgi.FastCGIServlet$1.connect(FastCGIServlet.java:152) >> php.java.servlet.fastcgi.ConnectionPool$Connection.reopen(ConnectionPool.java:101) >> >> >> php.java.servlet.fastcgi.ConnectionPool.openConnection(ConnectionPool.java:200) >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:421) >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) >> >> >> php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) >> php.java.servlet.CGIServlet.handle(CGIServlet.java:401) >> php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) >> php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) >> >> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:617) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> >> >> On Fri, Mar 6, 2009 at 1:04 PM, < >> php...@li...> wrote: >> >>> Only binaries located in web-inf/cgi use that path. >>> >>> System executables are launched from home dir as cwd and w/o any special >>> path or setting. >>> >>> >>> >>> php...@li... wrote: >>> >>> >>One hint is that when I start php-cgi by hand, it uses >>> "C:/Windows/php.ini" >>> >>but when started by launcher.exe by the bridge it uses >>> >>"C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" >>> > >>> >Is there a simple setting to make the launcher use the other php.ini? >>> >Please post your ultimate solution if/when you figure this out and get >>> it >>> >working. >>> >thx, -Brad- >>> >>> >------------------------------------------------------------------------------ >>> >Open Source Business Conference (OSBC), March 24-25, 2009, San >>> Francisco, CA >>> >-OSBC tackles the biggest issue in open source: Open Sourcing the >>> Enterprise >>> >-Strategies to boost innovation and cut costs with open source >>> participation >>> >-Receive a $600 discount off the registration fee with the source code: >>> SFAD >>> >http://p.sf.net/sfu/XcvMzF8H >>> >_______________________________________________ >>> >php-java-bridge-users mailing list >>> >php...@li... >>> >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >>> >>> >>> ------------------------------------------------------------------------------ >>> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, >>> CA >>> -OSBC tackles the biggest issue in open source: Open Sourcing the >>> Enterprise >>> -Strategies to boost innovation and cut costs with open source >>> participation >>> -Receive a $600 discount off the registration fee with the source code: >>> SFAD >>> http://p.sf.net/sfu/XcvMzF8H >>> _______________________________________________ >>> php-java-bridge-users mailing list >>> php...@li... >>> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users >>> >>> >> > |
|
From: <php...@li...> - 2009-03-07 15:25:44
|
Hi,
[I assume this issue has been solved]
> The bridge starts php-cgi.exe from the %PATH%.
Actually the bridge starts a PHP binary from c:\Program Files\PHP\php-cgi.exe or /usr/bin/php.
The bridge could search a php-cgi.exe from the path, if that helps to avoid such confusion.
Regards,
Jost Boekemeier
|
|
From: <php...@li...> - 2009-03-06 17:38:26
|
Hi Jost, Please bear with me, I understand I am treading difficult ground here. PHP is working fine for me. php-cgi called directly does not crash, and it is loading DLLs/extensions just fine (as I can see from the HTML output of "php-cgi -i". My current hunch is that the problem is in the launcher or how the launcher is calling php-cgi (or a problem with the GCC libraries used with the launcher interacting with the latest patched XP). One hint is that when I start php-cgi by hand, it uses "C:/Windows/php.ini" but when started by launcher.exe by the bridge it uses "C:/....../webapps/JavaBridge/WEB-INF/cgi/php.ini" (both of my php.ini versions are the same). In other words, the environment isn't exactly identical between the two ways of launching php-cgi. I saw the command line used with launcher, but there is pipe name in there. Is there a way I could run launcher.exe directly but substitute something else for the pipe? Thanks, Shash PS: Once I eliminate the launcher as a potential problem, I'll definitely post a PHP bug. Please bear with me. On Fri, Mar 6, 2009 at 11:03 AM, < php...@li...> wrote: > Hi, > please use one of the php mailing lists instead. Or use the bug tracker on > php.net. php should not crash if you force it to load foreign dlls. > > However, as I understand this issue, you haven't installed php correctly. > Copying arbitrary dll files into php doesn't help if the dlls use a > different abi than the php. > > But I know that installing php on windows isn't easy, the windows installer > doesn't allow one to install both, other-cgi and apache/iis sapi. And > selecting everything will crash the php installation immediately. > > Regards. > Jost Boekemeier > > > php...@li... wrote: > > >If you can't load any php-extensions this is not a problem with the php > java > >bridge. > >first try to figure that one out.. probably there are some problems with > >your path. > > > >next, have you looked at the stack trace, especially the > > > >"have you started php-cgi with > >the environment setting PHP_FCGI_MAX_REQUESTS=5000? " part? > >have you set the environment variable? > > > >the php-java bridge works by invoking either a servlet on the java server > >side > >if you want to use java from within php > >or certain php-scripts on the php server side if you want to use php from > >within java. > > > >it looks like you want to use php from within java, but the php-process on > >the server side > >died (or you have not started the php-webserver) and because of this you > get > >the connection-error/IOException.. > > > >regards, > >dominik > > > >2009/3/6 <php...@li...> > > > >> BTW, I wanted to mention, I have already tried some of the possible > >> solutions I have found on the mailing-list archives here. > >> > >> - I have unset PHPRC and removed C:\PHP from windows Path, restarted > Tomcat > >> - no effect > >> - I have changed prefer_system_php_exec to Off in web.xml, restarted > Tomcat > >> - no effect > >> - C:\PHP\php-cgi -i does not crash > >> > >> On Fri, Mar 6, 2009 at 8:25 AM, Sasvata Chatterjee < > >> sas...@gm...> wrote: > >> > >> > Hi, > >> > > >> > I am trying to use the bridge to run PHP5 under Tomcat on Windows XP. > I > >> > have started with the JavaBridge.war in webapps, and I can run > >> > http://localhost:8080/JavaBridge/test.php fine. I was having trouble > >> > loading the MySQL extension, and thought it was a problem with > >> > communications to MySQL. But, I have finally figured out that I can't > >> load > >> > any PHP extensions at all, so I'll stick to mentioning php_bz2.dll. > In > >> the > >> > Windows path, C:\PHP is included. > >> > > >> > The versions I have: > >> > Tomcat-6.0.18 > >> > PHP-5.2.6 > >> > JavaBridge-5.4.3.3 > >> > JDK-1.6.0_12 > >> > > >> > I have tried setting the registry to use C:\PHP\php.ini since my > >> > command-line php executable loads the .ini and extensions, but it made > no > >> > difference under JavaBridge. For now, I am using WEB-INF\cgi\php.ini, > as > >> > confirmed by the output from test.php. From the default php.ini that > came > >> > with JavaBridge.war, all I have done is change the following: > >> > > >> > extensions="C:\PHP\ext\" > >> > extension=php_bz2.dll > >> > > >> > and I get (if I restore those two lines, restart Tomcat, and access > >> > test.php, everything works): > >> > HTTP Status 500 - > >> > ------------------------------ > >> > > >> > *type* Exception report > >> > > >> > *message* > >> > > >> > *description* *The server encountered an internal error () that > prevented > >> > it from fulfilling this request.* > >> > > >> > *exception* > >> > > >> > javax.servlet.ServletException: PHP FastCGI instance failed. > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:395) > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *root cause* > >> > > >> > php.java.servlet.fastcgi.ConnectionException > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:55) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *root cause* > >> > > >> > java.io.IOException: Protocol error > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) > >> > > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *note* *The full stack trace of the root cause is available in the > Apache > >> > Tomcat/6.0.18 logs.* > >> > In the Tomcat logs, I get: > >> > > >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.ApplicationContext log > >> > INFO: PHP application terminated unexpectedly, have you started > php-cgi > >> > with the environment setting PHP_FCGI_MAX_REQUESTS=5000? Error: > >> > php.java.servlet.fastcgi.ConnectionException > >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.StandardWrapperValve > >> invoke > >> > SEVERE: Servlet.service() for servlet PhpCGIServlet threw exception > >> > java.io.IOException: Protocol error > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > at php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > at php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > at php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > at > >> > > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > >> > at > >> > > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> > at > >> > > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > >> > at > >> > > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > >> > at > >> > > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > >> > at > >> > > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >> > at > >> > > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> > at > >> > > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > >> > at > >> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > >> > at java.lang.Thread.run(Unknown Source) > >> > > >> > I have set the PHP_FCGI_MAX_REQUESTS env. var., but made no > difference. > >> > > >> > What am I doing wrong? Thanks in advance, > >> > > >> > Shash > >> > > >> > >> > ------------------------------------------------------------------------------ > >> Open Source Business Conference (OSBC), March 24-25, 2009, San > Francisco, > >> CA > >> -OSBC tackles the biggest issue in open source: Open Sourcing the > >> Enterprise > >> -Strategies to boost innovation and cut costs with open source > >> participation > >> -Receive a $600 discount off the registration fee with the source code: > >> SFAD > >> http://p.sf.net/sfu/XcvMzF8H > >> _______________________________________________ > >> php-java-bridge-users mailing list > >> php...@li... > >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > >> > > >------------------------------------------------------------------------------ > >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > >-OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > >-Strategies to boost innovation and cut costs with open source > participation > >-Receive a $600 discount off the registration fee with the source code: > SFAD > >http://p.sf.net/sfu/XcvMzF8H > >_______________________________________________ > >php-java-bridge-users mailing list > >php...@li... > >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > -OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > -Strategies to boost innovation and cut costs with open source > participation > -Receive a $600 discount off the registration fee with the source code: > SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > |
|
From: <php...@li...> - 2009-03-06 17:52:17
|
Could the problem be you are setting the "extensions" directive in the php.ini instead of the "extension_dir" directive? On Fri, Mar 6, 2009 at 2:03 PM, <php...@li... > wrote: > Hi, > please use one of the php mailing lists instead. Or use the bug tracker on > php.net. php should not crash if you force it to load foreign dlls. > > However, as I understand this issue, you haven't installed php correctly. > Copying arbitrary dll files into php doesn't help if the dlls use a > different abi than the php. > > But I know that installing php on windows isn't easy, the windows installer > doesn't allow one to install both, other-cgi and apache/iis sapi. And > selecting everything will crash the php installation immediately. > > Regards. > Jost Boekemeier > > > php...@li... wrote: > > >If you can't load any php-extensions this is not a problem with the php > java > >bridge. > >first try to figure that one out.. probably there are some problems with > >your path. > > > >next, have you looked at the stack trace, especially the > > > >"have you started php-cgi with > >the environment setting PHP_FCGI_MAX_REQUESTS=5000? " part? > >have you set the environment variable? > > > >the php-java bridge works by invoking either a servlet on the java server > >side > >if you want to use java from within php > >or certain php-scripts on the php server side if you want to use php from > >within java. > > > >it looks like you want to use php from within java, but the php-process on > >the server side > >died (or you have not started the php-webserver) and because of this you > get > >the connection-error/IOException.. > > > >regards, > >dominik > > > >2009/3/6 <php...@li...> > > > >> BTW, I wanted to mention, I have already tried some of the possible > >> solutions I have found on the mailing-list archives here. > >> > >> - I have unset PHPRC and removed C:\PHP from windows Path, restarted > Tomcat > >> - no effect > >> - I have changed prefer_system_php_exec to Off in web.xml, restarted > Tomcat > >> - no effect > >> - C:\PHP\php-cgi -i does not crash > >> > >> On Fri, Mar 6, 2009 at 8:25 AM, Sasvata Chatterjee < > >> sas...@gm...> wrote: > >> > >> > Hi, > >> > > >> > I am trying to use the bridge to run PHP5 under Tomcat on Windows XP. > I > >> > have started with the JavaBridge.war in webapps, and I can run > >> > http://localhost:8080/JavaBridge/test.php fine. I was having trouble > >> > loading the MySQL extension, and thought it was a problem with > >> > communications to MySQL. But, I have finally figured out that I can't > >> load > >> > any PHP extensions at all, so I'll stick to mentioning php_bz2.dll. > In > >> the > >> > Windows path, C:\PHP is included. > >> > > >> > The versions I have: > >> > Tomcat-6.0.18 > >> > PHP-5.2.6 > >> > JavaBridge-5.4.3.3 > >> > JDK-1.6.0_12 > >> > > >> > I have tried setting the registry to use C:\PHP\php.ini since my > >> > command-line php executable loads the .ini and extensions, but it made > no > >> > difference under JavaBridge. For now, I am using WEB-INF\cgi\php.ini, > as > >> > confirmed by the output from test.php. From the default php.ini that > came > >> > with JavaBridge.war, all I have done is change the following: > >> > > >> > extensions="C:\PHP\ext\" > >> > extension=php_bz2.dll > >> > > >> > and I get (if I restore those two lines, restart Tomcat, and access > >> > test.php, everything works): > >> > HTTP Status 500 - > >> > ------------------------------ > >> > > >> > *type* Exception report > >> > > >> > *message* > >> > > >> > *description* *The server encountered an internal error () that > prevented > >> > it from fulfilling this request.* > >> > > >> > *exception* > >> > > >> > javax.servlet.ServletException: PHP FastCGI instance failed. > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:395) > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *root cause* > >> > > >> > php.java.servlet.fastcgi.ConnectionException > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:55) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *root cause* > >> > > >> > java.io.IOException: Protocol error > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) > >> > > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > > >> > php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > > >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > > >> > *note* *The full stack trace of the root cause is available in the > Apache > >> > Tomcat/6.0.18 logs.* > >> > In the Tomcat logs, I get: > >> > > >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.ApplicationContext log > >> > INFO: PHP application terminated unexpectedly, have you started > php-cgi > >> > with the environment setting PHP_FCGI_MAX_REQUESTS=5000? Error: > >> > php.java.servlet.fastcgi.ConnectionException > >> > Mar 6, 2009 8:19:29 AM org.apache.catalina.core.StandardWrapperValve > >> invoke > >> > SEVERE: Servlet.service() for servlet PhpCGIServlet threw exception > >> > java.io.IOException: Protocol error > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.doRead(FastCGIInputStream.java:64) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIInputStream.read(FastCGIInputStream.java:51) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.parseBody(FastCGIServlet.java:451) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.doExecute(FastCGIServlet.java:374) > >> > at > >> > > >> > php.java.servlet.fastcgi.FastCGIServlet$CGIRunner.execute(FastCGIServlet.java:382) > >> > at php.java.servlet.CGIServlet.handle(CGIServlet.java:401) > >> > at php.java.servlet.PhpCGIServlet.handle(PhpCGIServlet.java:350) > >> > at php.java.servlet.CGIServlet.doGet(CGIServlet.java:471) > >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > >> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > >> > at > >> > > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > >> > at > >> > > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > >> > at > >> > > >> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) > >> > at > >> > > >> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > >> > at > >> > > >> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > >> > at > >> > > >> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > >> > at > >> > > >> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > >> > at > >> > > >> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > >> > at > >> > > >> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > >> > at > >> > > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > >> > at java.lang.Thread.run(Unknown Source) > >> > > >> > I have set the PHP_FCGI_MAX_REQUESTS env. var., but made no > difference. > >> > > >> > What am I doing wrong? Thanks in advance, > >> > > >> > Shash > >> > > >> > >> > ------------------------------------------------------------------------------ > >> Open Source Business Conference (OSBC), March 24-25, 2009, San > Francisco, > >> CA > >> -OSBC tackles the biggest issue in open source: Open Sourcing the > >> Enterprise > >> -Strategies to boost innovation and cut costs with open source > >> participation > >> -Receive a $600 discount off the registration fee with the source code: > >> SFAD > >> http://p.sf.net/sfu/XcvMzF8H > >> _______________________________________________ > >> php-java-bridge-users mailing list > >> php...@li... > >> https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > >> > > >------------------------------------------------------------------------------ > >Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > >-OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > >-Strategies to boost innovation and cut costs with open source > participation > >-Receive a $600 discount off the registration fee with the source code: > SFAD > >http://p.sf.net/sfu/XcvMzF8H > >_______________________________________________ > >php-java-bridge-users mailing list > >php...@li... > >https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, > CA > -OSBC tackles the biggest issue in open source: Open Sourcing the > Enterprise > -Strategies to boost innovation and cut costs with open source > participation > -Receive a $600 discount off the registration fee with the source code: > SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > php-java-bridge-users mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/php-java-bridge-users > > |
|
From: <php...@li...> - 2009-03-06 18:05:18
|
By the way, I had a similar problem with not being able to load the SOAP extension. I got it working by copying the php_soap.dll to the C:\tomcat\webapps\JavaBridge\WEB-INF\cgi directory and editing the php.ini file in that same (cgi) directory to the following. As a test, if you do the same thing do you see SOAP enabled, as well as your ini path set to "C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini" in the phpinfo() output? cheers,-Brad- ;; my C:\tomcat\webapps\JavaBridge\WEB-INF\cgi\php.ini follows ;; ;; -*- mode: Scheme; tab-width:4 -*- ;; A simple php.ini ;; extension_dir is this "cgi" directory ;;extension_dir=c:/php/ext extension_dir=. ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension=php_soap.dll ;; include php libraries from these directories ;; include_path=.:/usr/share/pear [soap] ; Enables or disables WSDL caching feature. soap.wsdl_cache_enabled=1 ; Sets the directory name where SOAP extension will put cache files. soap.wsdl_cache_dir="/tmp" ; (time to live) Sets the number of second while cached file will be used ; instead of original one. soap.wsdl_cache_ttl=86400 On Fri, Mar 6, 2009 at 2:52 PM, Brad Baker <bba...@gm...> wrote: > Could the problem be you are setting the "extensions" directive in the > php.ini instead of the "extension_dir" directive? > > |