Installing and configuring Zend Framework 2 server-wide [Ubuntu] and test driving ZendSkeletonApplication
- by kinologik
I'm trying to have ZF2 installed for all my subdomains at once (Ubuntu 12.04).
ZF2 just launched its first stable version, so I wanted to install it on my development server and finally get my hands dirty with it.
I downloaded ZF2 and unzipped the files in /var/ZF2/ (which now contains Zend/[all components]).
I then edited /etc/php5/apache2/php.ini and added the path to the ZF2 files:
include_path = ".:/var/ZF2"
I then downloaded the ZendSkeletonApplication and unzipped it in /var/www/skeleton.
I know it is suggested to composer.phar to install ZF2 application, but:
I don't want to make a local installation of ZF2... I want to make a server-wide installation be able to use my Zend components on all my domains/subdomains on my development server.
Before using any automatic installation process, I'd really like to understand that process by doing it manually at first.
Obviously, something goes wrong when I fire ZendSkeletonApplication, and I get the following when hit the following URL:
http://www.myDevServer.com/skeleton/public/
Fatal error: Uncaught exception 'RuntimeException' with message
'Unable to load ZF2. Run `php composer.phar install` or define
a ZF2_PATH environment variable.'
in /var/www/skeleton/init_autoloader.php:48 Stack trace: #0
/var/www/skeleton/public/index.php(9): include() #1 {main}
thrown in /var/www/skeleton/init_autoloader.php on line 48
I have skimmed through the docs, tutorials and the like, but there are no straight forward answer to this kind of configuration.
In the official doc, in the (very short) installation chapter, I see a reference to adding an include path in PHP. But no example...
http://zf2.readthedocs.org/en/latest/ref/installation.html
Once you have a copy of Zend Framework available, your application
needs to be able to access the framework classes found in the library
folder. Though there are several ways to achieve this, your PHP
include_path needs to contain the path to Zend Framework’s library.
But then, when I get to the "Getting Started" chapter, it's all composer.phar and nothing else...
http://zf2.readthedocs.org/en/latest/user-guide/skeleton-application.html
I'm no sysAdmin, just a Zend enthusiast. I'm pretty sure this PEBKAC problem might be obvious for those who already got in ZF2 previous betas. Thanks for helping my out.
EDIT:
Problem was resolved, thanks to Daniel M.
Just setting up ZF2_PATH in httpd.conf was all that was needed.
SetEnv ZF2_PATH /var/ZF2
I also removed the include_path reference in php.ini and everything works just fine. So I have no idea why Zend suggested to include it there in their official docs.