Forums / Extensions / Installing new extensions not available

Installing new extensions not available

Author Message

luis ascenso

Wednesday 14 January 2009 7:34:42 am

Hello,

When trying to install a new extension trough Admin Interface Ez Publish doesn't complete my request.

This message appears, instead:

Fatal error: Class 'ezcFile' not found in /home/(my main site)/public_html/(my site)/(my directory1)/(my directory2)/lib/ezutils/classes/ezautoloadgenerator.php on line 283
Fatal error: eZ Publish did not finish its request

The execution of eZ Publish was abruptly ended, the debug output is present below.

Anyone could help?

Heath

Wednesday 14 January 2009 7:42:59 am

Hello,

You must first install eZ Components which is required with eZ Publish 4.0

<i>http://ezcomponents.org/docs/install</i>

eZ Components is especially required when you begin trying to enable / activate / autoload extensions beyond the default base installation.

eZ is quite smart in allowing eZ Publish 4.0 to work out of the box, leaving this aspect to the more brave users who customize to ensure they have properly provided for all the software requirements.

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

luis ascenso

Wednesday 14 January 2009 2:47:07 pm

Thak you for your help.

I've downloaded Ez Components, and I've checked the installation guide. I think that there are two steps that must be done :

For the first one, there are the following instrucions:

<i>1) Include Path
The PHP include path should point to the directory where the eZ Components reside. You can either set it in the php.ini configuration file or with the set_include_path() function from within your script</i>

I have this question: it's enough to set the script in the php.ini file, or I must create a new file, called include.php, for instance?

For the second one:

<i>
Autoload Environment
With the first method, you require the ezcBase class, and defined your own autoload mechanism. You should add the following code on top of your PHP script:

<?php
require_once "Base/base.php"; // dependent on installation method, see below
function __autoload( $className )
{
ezcBase::autoload( $className );
}
// your code here
?>

</i>

"add the following code on top of your PHP script" - That means autoload.php file?

Thank you,

L. A.

Heath

Wednesday 14 January 2009 3:30:41 pm

I think you only need to worry about what your calling step 1 (step 2 is for other situations which prolly don't apply for you is my wager)

First, try adding the following to the file, 'config.php' in the root of your eZ Publish installation.

<?php

set_include_path( "/path/to/ezc/trunk/" . PATH_SEPARATOR .  get_include_path());

?>

Then clear all the cache and try again.

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

luis ascenso

Wednesday 14 January 2009 4:27:43 pm

The problem is that I don't find any config.php file in the root of my eZ Publish installation.
I didn't found it in any other directory either.

And about the code: <i>"/path/to/ezc/trunk/"</i> means the path to "ezc/trunk/", right?

Thank you once more.

Regards,

L. A.

Heath

Wednesday 14 January 2009 4:50:11 pm

<i>The problem is that I don't find any config.php file in the root of my eZ Publish installation.
I didn't found it in any other directory either.</i>

Try creating one.

<i>And about the code: "/path/to/ezc/trunk/" means the path to "ezc/trunk/", right?</i>

Yes

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

luis ascenso

Thursday 15 January 2009 1:53:11 pm

Hi again!

The problem is still there. The fact is that probably I didn't install ez components at all. I've simply downloaded it and unzipped inside ez publish directory:

/mysite ezpublish/ezcomponents-2008.2

Than I've created a config.php file, and I've inserted the following code inside it:

<?php

set_include_path( "/path/to/ezc/trunk/" . PATH_SEPARATOR .
get_include_path());

?>

Because I didn't found any /ezc/trunk/ directory I've created a new one.

Than I've cleared all the caches.

When trying to activate extensions, ez publish doesn't finish the request.

Excuse me If I'm boring you. It would be great if I could begin working with Ez Publish, and solving this little problem it would crucial to do that.

Regards,

L.A.

Heath

Thursday 15 January 2009 2:20:19 pm

Hello,

<i>The problem is still there. The fact is that probably I didn't install ez components at all. I've simply downloaded it and unzipped inside ez publish directory:</i>

You should consider renaming the folder name to match my example of 'ezc'.

<i>Than I've created a config.php file, and I've inserted the following code inside it:</i>

Great! That should be good.

<i>Because I didn't found any /ezc/trunk/ directory I've created a new one.</i>

It sounds like you have still not downloaded ezcomponents into your ezpublish site root folder. The key is the path in config.php should match the location of the ezcomponents folder which expands from the installation zip.

Download it from here,
<i>http://ezcomponents.org/download
http://ezcomponents.org/files/downloads/ezcomponents-2008.2.zip</i>

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

luis ascenso

Thursday 15 January 2009 3:36:37 pm

The package you linked to doesn't contain any 'trunk' folder, and seems to exactly the same I've already downloaded.

Anyway, after renaming ez components-2008.2 to ezc, clearing all caches, and trying to activate new extensions in the adminstration interface the message is:

<i>

Fatal error: Class 'ezcFile' not found in /home/limarisn/public_html/site/site_subdirectory/ezpublish/lib/ezutils/classes/ezautoloadgenerator.php on line 283
Fatal error: eZ Publish did not finish its request

The execution of eZ Publish was abruptly ended, the debug output is present below.
</i>

Perhaps the path in config.php file is not correct. I have ez publish in a tree structure like this:

site root/mydomain/my addon domain/my addon subdirectory /ezpublish renamed/

I
I've already tryed the following paths:

<?php    set_include_path( "addon domain/addon subdirectory /ezpublish renamed/ezc/trunk/" . PATH_SEPARATOR . get_include_path());    ?>
<?php    set_include_path( "/addon domain/addon subdirectory /ezpublish renamed/ezc /trunk/" . PATH_SEPARATOR . get_include_path());    ?>

and

<?php    set_include_path( "/public_html/addon domain/addon subdirectory /ezpublish renamed/ezc /trunk/" . PATH_SEPARATOR . get_include_path());    ?>

and nothing. The result is the message I've quoted above.

Regards,

L.A.

Heath

Saturday 17 January 2009 5:54:57 am

Hello again,

I really am only trying to help share tidbits of my own experiances configuring and using eZ Publish to (hoping against hope) attempt to help another with similar breakdowns or questions. Sharing.

<i>The package you linked to doesn't contain any 'trunk' folder, and seems to exactly the same I've already downloaded.</i>

My mistake. I used the svn stable of the last release as the basis for my comparison. You used the latest stable release tar.gz/zip/etc compressed package.

<i>Anyway, after renaming ez components-2008.2 to ezc, clearing all caches, and trying to activate new extensions in the administration interface the message is:</i>

I think one of the several problems with your installation is the above location (path, /var/www/ezpublish/ezc/trunk) must be either in the php.ini variable 'include path' with a full (not relative) path to the folder on disk or a setting in the eZ Publish file config.php.

For you I think a better example path would be <i>/home/limarisn/public_html/site/site_subdirectory/ezpublish/ezc/trunk</i>

<i>Fatal error: Class 'ezcFile' not found in /home/limarisn/public_html/site/site_subdirectory/ezpublish/lib/ezutils/classes/ezautoloadgenerator.php on line 283
Fatal error: eZ Publish did not finish its request</i>

The above error is sort of saying, "I can't find the eZ Components".

<i>Perhaps the path in config.php file is not correct. I have ez publish in a tree structure like this: site root/mydomain/my addon domain/my addon subdirectory /ezpublish renamed/"

Just remember spaces in the path name might be a problem. I'm not sure the example path above is very clear or useful. Remember no spaces in the path is best.

File: <i>/home/limarisn/public_html/site/site_subdirectory/ezpublish/config.php</i>
<?php

    set_include_path( "/home/limarisn/public_html/site/site_subdirectory/ezpublish/ezc/trunk" . PATH_SEPARATOR . get_include_path());

?>

Notice I have omitted a trailing slash in this example. Notice their are underscores instead of spaces in the path.

Sorry I snagged the path from the error you posted but I wanted to be more specific with my examples. This solution I point out today let me run eZ Publish and eZ Components on a dirt cheep php host several times already.

Be certain to clear all cache before trying to reload the site again to test these changes.

Cheers,
Heath

Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org

luis ascenso

Saturday 17 January 2009 3:17:44 pm

Hello,

I did as you said, without success.

Inside config.php , that is located inside ezpublish directory, I've used:

<?php

    set_include_path(
"/home/limarisn/public_html/site/subdirectory/ezpublish/ezc/trunk" .
PATH_SEPARATOR . get_include_path());

?>

And nothing.
Another option was inside php.ini variable 'include path' , in site root directory. There is already someting like this: <i>include_path = ".:/usr/lib/php:/usr/local/lib/php" ;</i>
Shoul I add a line similar, with the path to ezc?

(I still don't notice any 'trunk' folder inside ezc. Isn't there the problem?)

Thanks again,

L.A.

luis ascenso

Tuesday 27 January 2009 8:26:28 am

Thanks for your help.

The problem is solved now.
I've configured the path in config.php file like you've suggested. Some thing like this:

<i>
"/home/user/public_html/site/subdirectory/ezpublish/ezc"
</i>

My mystake was only the 'trunk' folder, that doesn't exist. Whithout it, everything works fine. EZ Components are found, and it is possible now to install new extensions.

Thaks a lot, once more.

Regards,

L.A.