1

Topic: Installation de DYP sous NetBSD

Bonjour,

j'ai voulu installé DYP (Dynacase Platform) sur NetBSD. Pas de souci au niveau des pré-requis, le problème survient après l'installation du DYC (Dynacase Control). En effet, afin de récupérer les différents dépôts et archives, ce programme utilise l'utilitaire Wget. Je l'ai bien installé sous NetBSD mais au moment de la récup du chemin de la commande, ca ne fonctionne pas incréminant un problème de PATH.

Le fichier en question est DYC/include/lib/Lib.System.php et la méthode est la suivante :

function getCommandPath($cmdname) {
        $path_env = getenv("PATH");
        if( $path_env == false ) {
            return false;
        }
        foreach (preg_split("/:/", $path_env) as $path) {
            if( file_exists("$path/$cmdname") ) {
                return "$path/$cmdname";
            }
        }
        return false;
    }

et enfin cet appel est utilisé dans le fichier Class.WIFF.php, ligne 1850 :

$out = system("$cmd > /dev/null", $ret);

Au final, après en avoir discuté avec d'autres personnes (merci bapt), une solution serait de se passer de la couche système et d'utiliser le module curl de php.

Les avantages sont les suivants :

    [*]abtraction complète de la couche système
    [*]sécurisation (pas d'appel système)

et l'inconvénient :

    [*]dépendance supplémentaire avec libcurl

Un exemple d'utilisation de Curl & Php est disponible ici.

Qu'en pensez-vous ?

Claude

2

Re: Installation de DYP sous NetBSD

zatmania wrote:

j'ai voulu installé DYP (Dynacase Platform) sur NetBSD. Pas de souci au niveau des pré-requis, le problème survient après l'installation du DYC (Dynacase Control). En effet, afin de récupérer les différents dépôts et archives, ce programme utilise l'utilitaire Wget. Je l'ai bien installé sous NetBSD mais au moment de la récup du chemin de la commande, ca ne fonctionne pas incréminant un problème de PATH.
[...]
Au final, après en avoir discuté avec d'autres personnes (merci bapt), une solution serait de se passer de la couche système et d'utiliser le module curl de php.

[...]

Qu'en pensez-vous ?

Pour le problème de wget dans le PATH le problème est vraisemblablement qu'Apache est lancé avec une variable d'environnement PATH « réduite » (ne contenant pas le chemin de wget). Généralement on peut redéfinir le PATH utilisé par Apache dans un fichier `envvars'. Sous Mac OS X avec Apache installé par macports c'est le fichier `/opt/local/apache2/bin/envvars'. Sinon, voir le script `apachectl' qui doit inclure ce fichier `envvars'.

Pour ce qui est de cURL, il y a un problème entre l'extension pgsql et curl qui fait segfaulter PHP (http://bugs.php.net/bug.php?id=40926). C'est apparemment corrigé avec la libpq de PostgreSQL 8.4, mais avec PostgreSQL 8.3, on doit toujours avoir ce problème (à vérifier). S'il n'y a plus de problèmes, l'utilisation de curl serait effectivement une évolution/contribution pertinente.

3

Re: Installation de DYP sous NetBSD

Merci Jérôme,

Généralement on peut redéfinir le PATH utilisé par Apache dans un fichier `envvars'.

je vais tester cela dés que possible et je vous tiendrai au courant.


Pour ce qui est de cURL, il y a un problème entre l'extension pgsql et curl qui fait segfaulter PHP (http://bugs.php.net/bug.php?id=40926).

Concernant Curl, il serait effectivement intéressant de refaire des tests rien qu'avec php 5.3 qui est un pré-requis à DYP 3.0 car le lien sur le site de php montre que la personne était en version 5.2.0, et que le problème était lié à la fois entre php, libssl et la lib pg.

Claude

4

Re: Installation de DYP sous NetBSD

Voilà c'est testé et cela fonctionne. Il faut néanmoins vérifier que le module mod_env d'apache soit chargé.

Donc voici la recette :

j'ai créé le fichier envvars dans /usr/pkg/etc/htppd/ et il contient le code suivant :

SetEnv SPECIAL_PATH /usr/pkg/bin

on relance apache et plus de soucis !

Voici le lien direct vers la doc officielle d'apache : http://httpd.apache.org/docs/current/mo … tml#setenv

Merci Jérôme pour la solution !

Claude

5

Re: Installation de DYP sous NetBSD

-= Pour info =-

Au final, après en avoir discuté avec d'autres personnes (merci bapt), une solution serait de se passer de la couche système et d'utiliser le module curl de php.

Les avantages sont les suivants :

    abtraction complète de la couche système
    sécurisation (pas d'appel système)



et l'inconvénient :

    dépendance supplémentaire avec libcurl



Un exemple d'utilisation de Curl & Php est disponible ici.

La nouvelle version 1.1 du dynacase control intègre Curl dorénavant <img src='http://forum.dynacase.org/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />

Merci Anakeen

Claude