Make sure that your PHP libraries have the Java API enabled. By default Java support is not compiled (at least for Unix/Linux systems). I don't know about Windows.

The php portlet doesn't require any database. The error you are seeing below has to do with the portlet application in general and not with the php portlet itself. Did you modify the php demo portlet? If not. I suggest to use the php demo as a base and include your php files.

Roger
Athanasis Nikolaos wrote:

Hello,

I tried to follow your help in order to fix the problem. However:
After I un-jared the phpportlet-1.0.jar file, I realized that there are 2 files 
(servlet.properties and reflect.properties) that both contain the same line: 
library=php4 . Thus, I changed BOTH of them into library=php4ts, and made a new 
 phpportlet-1.0.jar file. The result war that tomcat couldnot startup at all:
javax.servlet.ServletException: Failed to initalize jetspeed.  
org.apache.jetspeed.exception.JetspeedException: Unable to create Engine
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:206)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)


Then, i changed both servlet.properties and reflect.properties files and i put: 
library=phpsrvlt (which is the name of the other dll file that i put into 
C:/windows/system32 folder).

The same exception occured....

The stacktrace of the localhost_log file of jakarta-tomcat/logs file is:

2005-11-22 12:21:11 StandardContext[/php]JetspeedContainerServlet: starting 
initialization of Portlet Application at: php
2005-11-22 12:21:11 StandardContext[/php]JetspeedContainerServlet: Could not 
yet start portlet application at: php. Starting back ground thread to start 
when the portal comes online.
2005-11-22 12:21:11 StandardContext[/php]JetspeedContainerServlet: 
initialization done for Portlet Application at: php
2005-11-22 12:21:11 StandardContext[/php]JetspeedContainerServlet: attemping to 
start Portlet Application at: php
2005-11-22 12:21:11 StandardContext[/php]JetspeedContainerServlet: 
initialization failed for Portlet Application at: php
org.springframework.orm.ojb.OjbOperationException: OJB operation failed; nested 
exception is org.apache.ojb.broker.PersistenceBrokerException: Used 
ConnectionManager instance could not obtain a connection
org.apache.ojb.broker.PersistenceBrokerException: Used ConnectionManager 
instance could not obtain a connection
at 
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(StatementManager.java:641)
at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:277)
at 
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.java:74)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:183)
at 
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1808)
at  ...


What am I doing wrong? Any help please?If i want to use the php-portlet, do I 
have to install mysql as well? Because at this time i do not have mysql 
installed in my computer. I suppose php-portlet runs normally with the 
preconfigured hypersonic DB. Is this right or does php-portlet work only with 
mysql?
I work on a winXP computer with jdk 1.4.2 anf the binary package of jetspeed 2 
(jetspeed-2.0-M3-Tomcat-5.0.30.zip).

Thank you for your attention....

Athanasis Nikolaos
Postgraduate Student
University of the Aegean
Department of Geography
University Hill
81100 Mytilene, GREECE

TEL  +30-22510-36437


________________________________

Από: Roger Ruttimann [mailto:[EMAIL PROTECTED]
Αποστολή: Δευ 21/11/2005 6:23 μμ
Προς: Jetspeed Users List
Θέμα: Re: Problem about php-portlet



The problem with php is that the libraries are platform specific and the
one I posted a while back are for Linux.
In addition the php libraries have different names under Windows or Unix
platforms.
All your steps are correct the only thing you have to do at this point
is to get PHP 4.x libraries that have the Java API support enabled (or
build it yourself) and put them into the path so that tomcat can find
them.  Since the names of the php libraries are different you have to
edit the servlet.properties file in the phpportlet.jar and change
library=php4 to library=php4ts (ore something like that).

I hope it helps
Roger

Athanasis Nikolaos wrote:

Hello,

I work on a winXP computer, and i have installed the following:
1. jdk 1.4.2
2. A webServer called ms4w (MapServer with windows), which allows the 
development of digital maps (GIS). The MS4W package contains a full 
installation of Apache 2, PHP and other modules...
3. The binary package of jetspeed 2 (jetspeed-2.0-M3-Tomcat-5.0.30.zip).

The ms4w server handles php web pages. My goal is to execute these pages 
through the jetspeed interface. Thus, i tried to run the php-portlet. Without 
doing anything, i saw that when i tried to point to the 
http://localhost:8080/jetspeed/portal/non-java/php-portlet.psml page i got the 
following:
Failed to retrieve Portlet Definition for 
PHP::php-demoorg.apache.jetspeed.container.window.FailedToRetrievePortletWindow:
 No PortletEntity exists for for id phpdemo-1 removing window from cache.Failed 
to retrieve Portlet Definition for PHP::php-demo

Then, i downloaded php4ts.dll and phpsrvlt.dll from 
http://www.itgroundwork.com/resources/php-setup.html
and put them into C:/windows/systems32 folder (where the PATH variable links).
Then, I added the following  code snippet into 
webapp/WEB-INF/pages/default-page.psml :

<fragment id="dp-20" type="portlet" name="php::php-demo"> <property layout="TwoColumns" name="row" value="4" /> <property layout="TwoColumns" name="column" value="1" /> </fragment>
But, when i restart tomcat and point to:
http://localhost:8080/jetspeed/portal/non-java/php-portlet.psml
i get the following:
java.lang.UnsatisfiedLinkError: no php4 in java.library.path
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517)
      at java.lang.Runtime.loadLibrary0(Runtime.java:788)
      at java.lang.System.loadLibrary(System.java:834)
      at com.itgroundwork.portlet.php.reflect.loadLibrary(reflect.java:38)
      at com.itgroundwork.portlet.php.reflect.<clinit>(reflect.java:33)
      at com.itgroundwork.portlet.php.servlet.init(servlet.java:204)
      at org.apache.portals.bridges.php.PHPApplicationPortlet.doView(PHPApplic
ationPortlet.java:256)

a)How can I deploy the php portlet from jetspeed application?
b) What does the exception: "no php4 in java.library.path" mean?


Could please anyone help me?

Thank you for your attention.


Athanasis Nikolaos
Postgraduate Student
University of the Aegean
Department of Geography
University Hill
81100 Mytilene, GREECE

TEL  +30-22510-36437






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to