Chcąc uruchamiać projekty korzystające z Zend’a na naszym serwerze www, bez konieczności kopiowania wszystkich plików framework’a do każdego projektu możemy zainstalować Zend’a na serwerze. W tym Celu z konsoli wpisujemy:
root@server:# apt-get install zend-framework libzend-framework-zendx-php
Po instalacji możemy sprawdzić czy wszystko przebiegło w porządku:
root@server:# zf show version
powinna wyświetlić się wersja Zenda jak poniżej:
Zend Framework Version: 1.11.11
Kolejnym krokiem jest edycja pliku konfiguracyjnego w dowolnym edytorze:
root@server:# vim /etc/php5/conf.d/zend-framework.ini
i dodanie linii ze ścieżkami dostępu, jak poniżej:
[Zend] include_path=${include_path} ":/usr/share/php/libzend-framework-php:/usr/share/php:/usr/share/php/PHPunit:/usr/share/php/PEAR"
Na koniec ładujemy nową konfigurację do serwera www:
root@server:# service apache2 reload
i sprawdzamy czy instalacja przebiegła prawidłowo:
root@server:# php -v
powinniśmy otrzymać coś podobnego do poniższego:
PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 18:59:41) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
Jeżeli po wykonaniu z konsoli polecenia tworzącego nowy projekt Zend’a:
root@server:/var/www/new_project# zf create project
otrzymujemy jeden z poniższych komunikatów:
Testing Note: PHPUnit was not found in your include_path, therefore no testing actions will be created. PHP Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 46 Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 46 PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='/usr/share/php/libzend-framework-php:/usr/share/php') in /usr/share/php/PHPUnit/Autoload.php on line 46 Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='/usr/share/php/libzend-framework-php:/usr/share/php') in /usr/share/php/PHPUnit/Autoload.php on line 46 PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Autoload.php on line 64 Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Autoload.php on line 64
może to oznaczać, że musimy wykonać poniższe polecenia:
root@server:# pear upgrade pear root@server:# pear channel-discover pear.phpunit.de root@server:# pear channel-discover components.ez.no root@server:# pear channel-discover pear.symfony.com root@server:# pear channel-discover pear.symfony-project.com root@server:# pear update-channels root@server:# pear upgrade-all root@server:# pear install --alldeps phpunit/PHPUnit root@server:# pear install phpunit/PHP_CodeCoverage root@server:# apt-get install phpunit
Na zakończenie musimy jeszcze załadować nową konfigurację do serwera www:
root@server:# service apache2 reload