2011-09-16 4 views
3

J'ai un ordinateur portable Windows 7. J'ai téléchargé PHP 5.2.8. J'ai téléchargé Apache 2.2.Téléchargement de fichiers php au lieu d'ouvrir

J'ai couru le MSI pour l'installation de PHP, que je sais n'est pas recommandé mais j'ai essayé plusieurs fois la route normale sans succès.

J'ai Apache en cours d'exécution et il montre "Exécution de tous les services Apache". Quand j'ai fait l'installation, je l'ai configuré pour "localhost". J'ai coché la case CGI dans mon panneau de contrôle.

J'ai placé un fichier simple, test.php, dans C: \ inetpub \ wwwroot ... mais lorsque le fichier est double-cliqué, il essaie de télécharger le fichier au lieu de l'ouvrir en tant que page Web.

J'ai été googling cela pendant quelques heures et ne peux pas trouver une solution appropriée. J'ai vidé mon cache, et toujours pas de chance. Apache pour écouter sur le port 8080 juste pour être sûr que rien d'autre n'utilisait le port 80 avant main.

Des idées?

Merci!


mise à jour - je manquais le php5apache2.dll ... i placé ce dans le répertoire PHP mais toujours les mêmes résultats. J'ai également essayé de naviguer à l'emplacement de dossier par IE qui n'a pas changé n'importe quoi non plus malheureusement.


mise à jour à nouveau, - - DOH! - - Je n'ai pas réalisé que c'était localhost/test.php ou quelle était la réponse ci-dessous. quand je fais ça, je reçois une page d'erreur de serveur .. qui est mieux que avant que je suppose :)

Server Error in Application "DEFAULT WEB SITE" 

HTTP Error 500.0 - Internal Server Error 

An unknown FastCGI error occured 

Module FastCgiModule 

Notification ExecuteRequestHandler 

Handler PHP 

Error Code 0x8007010b 

Requested URL http://localhost:80/test.php 

Physical Path C:\inetpub\wwwroot\test.php 

Logon Method Anonymous 

Logon User Anonymous 

Les causes les plus probables:

• IIS a reçu la demande; cependant, une erreur interne s'est produite pendant le traitement de la demande. La cause première de cette erreur dépend du module qui gère la demande et de ce qui se passait dans le processus de travail lorsque cette erreur s'est produite.

• IIS n'a pas pu accéder au fichier web.config pour le site Web ou l'application. Cela peut se produire si les autorisations NTFS sont définies incorrectement.

• IIS n'a pas pu traiter la configuration du site Web ou de l'application.

• L'utilisateur authentifié n'a pas l'autorisation d'utiliser cette DLL.

• La demande est mappée à un gestionnaire géré mais la fonctionnalité d'extensibilité .NET n'est pas installée. Lorsque j'essaie de lancer/lancer apache, il y a des erreurs. donc quand j'exécute la configuration de test Apache je reçois le message suivant: httpd.exe: Erreur de syntaxe sur la ligne 1 de C: /Apache/conf/httpd.conf: Impossible de charger C: /php/php5apache2_2.dll dans le serveur: Le spécifié le module n'a pas pu être trouvé.

Cependant, quand je navigue vers ce directeur, je vois ce fichier dll là !! ...

idées?

+0

Pouvez-vous confirmer que le fichier de configuration d'apache a les directives pour gérer les fichiers .php avec le module php? Essayez de suivre les instructions [ici] (http://www.php.net/manual/fr/install.windows.apache2.php) pour exécuter php en tant que gestionnaire Apache. Aussi, vous dites quand le fichier est double-cliqué, il demande de télécharger. Vous devez accéder au fichier via votre navigateur pour que php l'exécute. – drew010

+0

Vous devez naviguer vers la page, comme http: // localhost /, et ne pas double-cliquer. – Mob

+0

quand j'ouvre IE et entrez le chemin C:/inetpub ... etc .... myFile.php, il fait la même chose, essaie juste de télécharger le fichier. mais j'ai peut-être trouvé le problème, php5apache2.dll est mentionné un peu, mais je n'ai pas cela dans mon répertoire de dossier php. donc je navigue sur Internet en essayant de trouver un endroit pour obtenir ce fichier. – Adam

Répondre

0

Double-cliquez? Comme dans l'explorateur? Si c'est le cas, cela n'ouvrira pas la page. Vous devez naviguer vers la page. Si vous êtes dans la liste de répertoire pour apache double-clic n'est pas nécessaire.

En ce qui concerne la mise en place, si vous êtes nouveau est d'utiliser votre meilleur pari iis, EasyPHP, xampp, ou toute autre variante

Ils vous feront fonctionner sans les tracas

2

Si vous avez placé un fichier appelé test.php dans C: \ inetpub \ wwwroot, alors vous devez ouvrir votre navigateur à http://localhost/test.php pour essayer d'exécuter le fichier.

Le fichier php5apache2.dll doit aller dans votre répertoire de module pour apache, et vous devrez ajouter les lignes de configuration apache appropriés tels que ceux ci-dessous:

LoadModule php5_module « c:/chemin/vers/php5apache2 .dll »

application AddHandler/x-httpd-php .php

application SetHandler/x-httpd-php

Après avoir fait ces changements, vous aurez besoin redémarrer apache.

+0

J'ai essayé cela mais je ne peux pas commencer apache pour une raison quelconque, j'ai mis à jour mon poste, s'il vous plaît voir. :) Je vous remercie. – Adam

+0

Est-ce le répertoire C:/PHP ou C:/php, je pense que le cas sera important sur Windows. En outre, à en juger par le message d'erreur, il semble que l'installateur php ait essayé de configurer php en tant que cgi. La plus grande chose que j'ai oubliée était que votre serveur fonctionne comme IIS, pas Apache.Arrêtez le service IIS et essayez d'exécuter Apache. – drew010

+0

bonne prise, sorte de :) le répertoire a été caps, donc je l'ai mis en minuscule et vérifié httpd.conf avait minuscule aussi bien. Je suis également allé au gestionnaire d'IIS et ai fermé le serveur. cependant je reçois toujours le même message quand j'essaye de démarrer le serveur apache ... juste ai redémarré mon ordinateur portable et toujours la même chose = \ – Adam

1

En supposant que PHP est correctement installé sur Apache comme mentionné dans les autres réponses, il est possible que la page .php n'envoie pas l'en-tête correct. J'ai un fichier .php qui émet un en-tête avec Content-Type: text/json, ceci est couramment utilisé pour fournir un service pour un client Ajax. La page .php devrait envoyer Context-Type: text/html.

Pour déterminer si le problème est réel, vous pouvez utiliser wget avec l'option -S ou utiliser les outils de développement dans votre navigateur. Jetez un oeil à cette réponse: Tool to view response headers

Questions connexes