IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Conversion fichier javascript en php


Sujet :

Apache

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Par défaut Conversion fichier javascript en php
    Bonjour,

    nous avons mis en place sur notre serveur OVH (Gentoo, Apache 2.2.19, PHP 5.2.13) un fichier .htaccess afin de convertir nos fichiers javascript en PHP. Le fichier contient la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddType application/x-httpd-php .js
    Puis dans nos fichiers javascript, nous avons ajouté le header suivant afin qu'ils puissent être interprétés par le navigateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('Content-type: application/x-javascript; charset=UTF-8');
    header('Cache-Control: max-age=3600, must-revalidate');
    Malheureusement, lorsqu'on regarde la section "Network" du "Developer Tools" de Chrome, les fichiers javascripts apparaissent comme des fichiers PHP (application/x-httpd-php) et le navigateur nous indique des erreurs au niveau des "<?php" (nous avons l'impression que le serveur ne traite pas le PHP dans ces fichiers).

    Pourquoi ne sont-ils pas reconvertis en javascript ??
    Y aurai t'il un module à ajouter à apache ou PHP ??

    Ps : nous avons wamp installé sur nos machines en local et tout fonctionne correctement. Les fichiers javascripts sont bien du type application/x-javascript et donc bien interprétés par le navigateur.

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Un peu compliqué comme façon de faire, je trouve. Le plus simple c'est de garder dans le code HTML des références à des fichiers .js (<script href="toto.js">) et d'utiliser de la réécriture d'URL vers le même fichier mais avec .php à la place du .js. Du coup, je retirerais la configuration que vous avez faite pour mettre ceci dans le .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule (.*)\.js$ $1.php [L]

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2011
    Messages : 22
    Par défaut
    Bonjour,

    merci pour votre réponse. Malheureusement, la solution que vous nous avez conseillé ne fonctionne pas.
    Je vais un peu plus détaillé le problème que nous rencontrons en vous donnant des exemples :

    Nous avons un fichier index.php qui contient le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
          <script type="text/javascript" src="/path/to/file.js"></script>
       </head>
       <body></body>
    </html>
    Et notre fichier /path/to/file.js qui contient ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var test = <?php echo "test"; ?>;
    Afin que le code PHP du fichier javascript soit interprété, nous avons ajouté, au même endroit que notre fichier javascript, un fichier .htaccess qui contient la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     AddType application/x-httpd-php .js
    Avec ce fichier .htaccess, /path/to/file.js est considéré comme un fichier PHP (si je me trompe pas !!) et donc il devrait être interprété par le serveur.
    Pour finir, nous avons rajouté à /path/to/file.js le header suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     header('Content-type: application/x-javascript; charset=UTF-8');
    pour que la navigateur puisse l'interprété comme un fichier javascript.

    En local avec wamp, tout fonctionne correctement. Le code PHP des fichiers javascripts est bien interprété.
    Le problème, c'est lorsqu'on met ces fichiers sur notre serveur OVH, le code PHP n'est pas du tout interprété et les fichiers javascripts sont de type application/x-httpd-php au lieu d'être des fichiers application/x-javascript. Et le navigateur m'affiche donc des erreurs de syntaxes au niveau du code PHP.

    Est ce qu'il se peut qu'il manque une configuration sur notre serveur apache ou PHP ??

    PS : en local, sous wamp, PHP est installé comme un module Apache. Mais sur OVH, nous n'avons pas cette configuration. Question : le module PHP est-il actif dans votre httpd.conf ??

    J'espère avoir été assez précis sur le probleme que nous rencontrons.
    Merci

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    A priori c'est le problème : avec PHP en CGI le AddType ne fonctionne pas.

    Dans ma méthode, l'idée est de renommer les fichiers .js en .php (chose que je n'ai pas mentionnée mais que je croyais évidente...) et de réécrire les demandes vers les .js vers un fichier .php équivalent. Donc il faut renommer les fichiers .js en .php.

Discussions similaires

  1. [RegEx] Conversion regex JavaScript en PHP
    Par dtcSearch dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2014, 15h14
  2. Réponses: 14
    Dernier message: 29/04/2009, 09h39
  3. [PHP-JS] Conversion fonction de temps PHP vers javascript
    Par Flynt dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/04/2008, 17h46
  4. [PHP-JS] Récupérer une variable php dans un fichier javascript
    Par zoom61 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2006, 11h00
  5. Réponses: 1
    Dernier message: 15/05/2006, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo