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]