web-dev-qa-db-fra.com

Aucun fichier d'entrée spécifié

J'utilise Anchor CMS et je viens de passer à la version 0.8. Lorsque j'essaie d'exécuter le programme d'installation, le message d'erreur «Aucun fichier d'entrée spécifié» s'affiche. Je crois que c’est plus que probablement un problème de .htaccess mais je ne suis pas sûr de ce que les paramètres corrects devraient être.

Mon site peut être trouvé ici .

Mon .htaccess est réglé sur:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase {base}

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ {index} [L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>

J'utilise également un GoDaddy en tant que fournisseur d'hébergement si cela peut vous aider. 

28
Cole Roberts

Le Aucun fichier d'entrée spécifié est un message qui vous est présenté à cause de la mise en œuvre de PHP sur votre serveur, qui indique dans ce cas une implémentation de CGI (peut être vérifiée avec phpinfo() ).

Maintenant, pour bien expliquer cela, vous devez avoir quelques notions de base sur le fonctionnement de votre système avec les URL. Sur la base de votre fichier .htaccess, il semble que votre système de gestion de contenu s’attende à ce que l’URL soit transmise sous forme de variable PATH_INFO. PATH_INFO n'est pas disponible dans les implémentations CGI et FastCGI. Par conséquent, lorsque vous essayez de transmettre l'URI, PHP échoue avec ce message. 

Nous devons trouver une alternative.

Une option consiste à essayer de résoudre ce problème. En consultant la documentation des directives core php.ini , vous pouvez voir que vous pouvez modifier le fonctionnement de votre implémentation. Cependant, GoDaddy ne vous autorisera probablement pas à modifier les paramètres PHP sur un environnement partagé.

Nous devons trouver une alternative à la modification de PHP paramètres
En regardant dans system/uri.php à la ligne 40, vous verrez que le CMS tente deux types de détection d’URI - le premier étant PATH_INFO, que nous venons d’apprendre ne fonctionnera pas - l’autre étant le REQUEST_URI.

Cela devrait fondamentalement suffire - mais l'analyse de l'URI transmise vous causera plus de problèmes, car l'URI, que vous pouvez transmettre à la variable REQUEST_URI, force parse_url() à ne renvoyer que le chemin de l'URL - retour à zéro.

Maintenant, il ne reste en réalité qu’une possibilité - et cela change le cœur du système de gestion de contenu. La partie détection d'URI est insuffisante.

Ajoutez QUERY_STRING au tableau de la ligne 40 en tant que le premier élément dans system/uri.php et modifiez votre .htaccess pour qu'il ressemble à ceci:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?/$1 [L]

Ceci transmettra l'URI que vous avez demandé à index.php en tant que QUERY_STRING et permettra à la détection d'URI de le trouver.

En revanche, cela rend impossible la mise à jour du CMS sans modifier les fichiers principaux tant que cela n'a pas été corrigé. Ça craint ...

Besoin d'une meilleure option?
Trouver un meilleur CMS.

106
Repox

Citer http://support.statamic.com/kb/hosting-servers/running-on-godaddy :

Si vous souhaitez utiliser GoDaddy en tant qu'hôte et que vous obtenez des erreurs "Aucun fichier d'entrée spécifié" dans le panneau de configuration, vous devez créer un fichier php5.ini dans votre weboot avec la règle suivante:

cgi.fix_pathinfo = 1

meilleure réponse facile juste un changement de ligne et vous êtes tous ensemble.

recommandé pour l'hébergement GoDaddy.

19
chetan

J'ai eu le même problème. Tout ce que j'ai fait pour résoudre le problème a été de modifier mon fichier htacces comme suit:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /crm/

Options +FollowSymLinks 

RewriteCond %{HTTP_Host} ^mywebsite.com [NC] 

RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301] 

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L]

RewriteRule ^index.php/(.*)$ [L]
</IfModule>
6
webicy

Dans mon cas, il y avait une erreur dans la variable open_basedir php.ini. 

6
jbaylina

GoDaddy prend actuellement en charge (février 2013) la modification de FastCGI pour certains comptes utilisant PHP 5.2.x ou une version antérieure. Voir l'article de GoDaddy " Désactivation de FastCGI dans votre compte d'hébergement ".
(Dans mon cas, cela est apparemment nécessaire pour que la version actuelle de LimeSurvey (2.0) devienne active.)

3
DragonLord

L'ajout de php5.ini ne fonctionne pas du tout… .. Mais voyez la section 'Disable FastCGI' dans cet article sur GoDaddy: http://support.godaddy.com/help/article/5121/changer-vos-hébergements-comptes-extensions-fichiers

Ajoutez ces lignes aux fichiers .htaccess (répertoire d'installation de Webroot et du site Web):

Options +ExecCGI
addhandler x-httpd-php5-cgi .php

Cela me sauve un jour! Salut! Merci Seigneur du dragon !

2
jondinham

Exécuter ulimit -n 2048

Et redémarrez php/php-fpm

2
Yarin Gold

Cela a fonctionné pour moi..ajouter au fichier .htaccess. Cela désactiverait FastCGI sur le compte d'hébergement partagé de godaddy.

Options + ExecCGI

addhandler x-httpd-php5-cgi .php

2
user2060571

La solution pour moi était de supprimer les espaces dans l'un de mes fichiers d'assistance. L'erreur mentionnait deux pages impliquées, un fichier de session CI et l'un de mes assistants personnalisés. 

0
jason