Hello !

Je travail avec docker nginx php5-fpm et symfony2 en ce moment, et je rencontre un petit soucis.

Lorsque je tape par exemple la commande : php app/console database:update --force pour mettre à jour la bdd, la console me renvoir l'erreure : -sh: php: not found.

Pourtant j'ai bien installer l'extension php5-cli, mais rien.
Si quelqu'un aurai une soluce...

Merci d'avance.

9 réponses


Essaye php -v. Si il n'y a rien regarde dans les bin de ton docker.
De plus as-tu installer toutes les extensions php5? genre php5-mysql etc...

Hello Arnaud ! merci pour ta réponse.
php -v me renvoi la même erreur que j'ai cité plus haut.

En effet il n'y a pas la commande "php" dans le dossier bin. Comment l'installer ?

Oui j'ai bien installer les extensions necessaires : php5 \ php-pear \ php5-gd \ php5-memcached \ php5-imagick \ php5-cli \ php5-readline \ php5-fpm \ php5-mysql ....

Bonjour,

C'est tres probablement parce que php ne se trouve pas dans le PATH de votre contexte shell. Essayez avec le chemin complet de php (tres souvent /usr/bin/php).

Ce qui est bizarre c'est que tu n'ai pas le chemin dans le path enfaite :x mais comme dit cherche le bin php et au pire tu te fais ton petit racourci perso

Il faut te "connecter" au container php en mode interactif pour pouvoir utiliser la commande php.

[docker@boot2docker] $ docker exec -it <container_fullname|container_id> bash
[root@container_id] # php -v
PHP 7.0.0beta1 (cli) (built: Jul 8 2015 19:57:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

Voilà.
Je ne suis pas expert avec docker, peut-être qu'il y a une autre solution mais c'est ce que j'utilise[rai].

Salut, je fais comme @PhiSyX après voir p-e pour mettre un alias

Ou si je dit pas de bétise tu peux aussi faire :

docker exec -ti <container_name> php -v

Au niveau de l'installation as-tu un php5-cli d'installer?

Tout d'abord merci pour vos réponses. En fait j'ai suivi le tuto sur Docker, et j'utilise plus précisemment la config Nginx, donc oui j'ai une installation php5 qui tourne.

Donc du coup en faisant :
docker@boot2docker:/var/www$ docker exec -ti docker_php_1 php -v
PHP Warning: Module 'curl' already loaded in Unknown on line 0
PHP Warning: Module 'hash' already loaded in Unknown on line 0
PHP Warning: Module 'iconv' already loaded in Unknown on line 0
PHP Warning: Module 'json' already loaded in Unknown on line 0
PHP Warning: Module 'pdo_sqlite' already loaded in Unknown on line 0
PHP Warning: Module 'Phar' already loaded in Unknown on line 0
PHP Warning: Module 'session' already loaded in Unknown on line 0
PHP Warning: Module 'SimpleXML' already loaded in Unknown on line 0
PHP Warning: Module 'tokenizer' already loaded in Unknown on line 0
PHP Warning: Module 'xml' already loaded in Unknown on line 0
PHP 5.6.11 (cli) (built: Jul 13 2015 21:49:23)
Copyright (c) 1997-2015 The PHP Grouparound
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
docker@boot2docker:/var/www$

Ca fonctionne bien. Je vais faire un alias pour que ce soit plus pratique :)

J'ai juste une série d'erreurs PHP :o Quand je regarde le fichier Dockerfile pourtant ils ne sont chargés qu'une fois :
FROM php:5.6-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libsqlite3-dev \
libssl-dev \
libcurl3-dev \
libxml2-dev \
libzzip-dev \
&& docker-php-ext-install iconv json mcrypt mbstring mysql mysqli pdo_mysql pdo_sqlite phar curl ftp hash session simplexml tokenizer xml xmlrpc zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd

WORKDIR /var/www

CMD ["php-fpm"]

Jai les mêmes erreurs que toi..