6
votes

Installation d'une application codeigniter dans un sous-dossier

J'essaie d'installer une application faite avec Cadedigniter dans un sous-dossier, de sorte que je puisse y accéder en utilisant: http://www.domain.com/my_subfolder/ À la racine, il y a une application WordPress. J'ai édité le .htaccess de l'installation WordPress pour laisser la demande aller au dossier / my_subder /

Cela fonctionne bien, le seul problème que je reçois est que le codeigniter est incapable de charger de manière dynamique les classes dans le répertoire "Bibliothèques". Donc, tout dans l'application CI fonctionne bien jusqu'à ce qu'il tente d'utiliser un objet déclaré dans le sous-dossier "Bibliothèques", puis je reçois un: impossible de charger la classe demandée: my_class

Il ne semble pas qu'il existe un paramètre dans le dossier "Config" pour changer cela ... une idée?


6 commentaires

Ouvrez vos journaux d'erreur et voyez ce qui se passe ici. Comme tout est relatif, cela ne devrait pas avoir d'importance où votre installation CI est. Collez votre config et le message d'erreur que vous recevez. Donnez-nous quelque chose à travailler avec. :-)


@Philsturgeon Toute personne peut m'aider sur cette Stackoverflow.com/Questtions/25447009/...


J'ai le problème de 404. Pouvez-vous me montrer votre ?htaccess?


@ kamranbhatti585 C'était il y a 7 ans ... que .htaccess est parti depuis longtemps ...


@mrugugs merci bien que je l'ai résolu. :)


@ kamranbhatti585 bon travail! :-)


3 Réponses :


7
votes

Ce dont vous avez besoin est de modifier votre codeigniter config.php dans system> application> config code>.

puis modifier config.php et définissez la propriété: p>

$config['base_url'] = "http://www.domain.com/my_subfolder/"


0 commentaires

1
votes

Eh bien, il semble que la configuration param Base_url soit mise à jour. En outre, j'ai utilisé une bibliothèque avec le préfixe "My_", et je ne devrais pas que je n'établissais aucune classe CI.


0 commentaires

1
votes

Ceci est 2021. Si quiconque a eu ce même problème avec le Cadedigniter 4, voici comment je l'ai résolu quand je suis tombé sur ce problème.

problème J'ai installé CI dans un sous-dossier dans mon dossier public_html i.e exemple.com/api. Quand j'ai visité www.example.com/api , j'ai vu une erreur interdite 403.

solution

  • Téléchargez et décompressez CI sur votre ordinateur local ou utilisez le compositeur.

  • renommer dossier public au nom de votre sous-dossier. Dans mon cas, je l'ai nommé API .

  • Créez un autre dossier et donnez-lui n'importe quel nom de choix, par exemple, utilisons Mango (oui, j'adore les mangues). Copiez tous les fichiers et dossiers restants (app, système, écrans, env ,mis, Licence, ReadMe, Compositeur, PHPUnit, Spark) dans le dossier Mango. Après cela, nous devrions avoir 2 dossiers: API et MANGO

  • Copiez les deux dossiers sur votre root CPanel Server Live ( ne copie pas en public_html ou www ). Laissez-les être au même niveau que public_html

  • ouvert API / index.php et changez $ PATHSSCONFIG = FCPATH. "../app/config/paths.php '; à $ pathSconfig = fcpath. '../ mangue /app/config/paths.php';

  • Créez un sous-domaine et pointez-le à / API

  • Allez dans le dossier API, dupliquez le fichier env et le renommez-le à .env

  • Ouvrez .env et recherchez app.baseurl = ''. Supprimer le '#' pour décomposer cette ligne et le changement sur App.BaseURL = 'http: // sous-domaines' où le sous-domaine est le sous-domaine que vous avez créé ci-dessus, par exemple http://api.example.com

  • Ouvrir mangu / app / config / app.php et recherchez le public $ BASEURL et définissez-le sur le sous-domaine E.g $ baseurl = 'http://api.example.com'

  • Votre projet CI est maintenant bien configuré. Visitez http://api.example.com . et vous devriez voir la page d'accueil du CodeDigniter.


0 commentaires