php xampp codeigniter-2

php - Ruta del sistema incorrecta de CodeIgniter en un servidor privado



xampp codeigniter-2 (4)

prueba este .htaccess en la carpeta raíz

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 /index.php </IfModule>

suponiendo que index.php es tu página de índice.

y cambio en config.php

$config[''index_page''] = '''';

El proyecto codeigniter cuando se carga en el servidor me da el siguiente error.

La ruta de la carpeta del sistema no parece estar configurada correctamente. Abra el siguiente archivo y corríjalo: index.php

está funcionando bien localmente y en el alojamiento de 000webhost.com .

Cuando se carga a un servidor privado de paralelos, da el error anterior.

Mi index.php es el siguiente.

<?php define(''ENVIRONMENT'', ''development''); if (defined(''ENVIRONMENT'')) { switch (ENVIRONMENT) { case ''development'': error_reporting(E_ALL); break; case ''testing'': case ''production'': error_reporting(0); break; default: exit(''The application environment is not set correctly.''); } } $system_path = ''system''; $application_folder = ''application''; if (defined(''STDIN'')) { chdir(dirname(__FILE__)); } if (realpath($system_path) !== FALSE) { $system_path = realpath($system_path).''/''; } $system_path = rtrim($system_path, ''/'').''/''; if ( ! is_dir($system_path)) { exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME)); } define(''SELF'', pathinfo(__FILE__, PATHINFO_BASENAME)); define(''EXT'', ''.php''); // Path to the system folder define(''BASEPATH'', str_replace("//", "/", $system_path)); // Path to the front controller (this file) define(''FCPATH'', str_replace(SELF, '''', __FILE__)); // Name of the "system folder" define(''SYSDIR'', trim(strrchr(trim(BASEPATH, ''/''), ''/''), ''/'')); // The path to the "application" folder if (is_dir($application_folder)) { define(''APPPATH'', $application_folder.''/''); } else { if ( ! is_dir(BASEPATH.$application_folder.''/'')) { exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); } define(''APPPATH'', BASEPATH.$application_folder.''/''); } require_once BASEPATH.''core/CodeIgniter.php'';


En mi caso, no fui a meterme con .htaccess, en realidad antes de ir a hacer eso, como se sugiere en la publicación anterior, intenté su parte posterior, que está cambiando el

$config[''index_page''] = ''index.php'';

A lo siguiente

$config[''index_page''] = '''';

¡Y simplemente funcionó para mí!

~~~~~~~~~~~~~~~~~~ Edición para agregar más información ~~~~~~~~~~~~~~~~~~~~~

Mi estructura de Directorio CodeIgniter:

htdocs / |_ CI / |_ OnlineStoreApp / |_ online_store_ci // This is the CodeIgniter folder |_ public_html / |_ css |_ js |_ fonts |_ .htaccess // see bellow for more details |_ index.php // see bellow for more details

Y mi archivo .htaccess contiene lo siguiente:

DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index/.php|images|css|js|robots/.txt|favicon/.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

Mi archivo index.php es el mismo proporcionado por la carpeta raíz de CodeIgniter, pero tengo que cambiar dos líneas porque lo coloco dentro del directorio public_html en lugar de su ubicación original:

Nota: busque las siguientes dos líneas dentro de index.php ,
- $system_path
- $application_folder
Se han editado para señalar las ubicaciones donde residen el directorio del system y el directorio de la application .

<?php /* *--------------------------------------------------------------- * APPLICATION ENVIRONMENT *--------------------------------------------------------------- * * You can load different configurations depending on your * current environment. Setting the environment also influences * things like logging and error reporting. * * This can be set to anything, but default usage is: * * development * testing * production * * NOTE: If you change these, also change the error_reporting() code below * */ define(''ENVIRONMENT'', ''development''); /* *--------------------------------------------------------------- * ERROR REPORTING *--------------------------------------------------------------- * * Different environments will require different levels of error reporting. * By default development will show errors but testing and live will hide them. */ if (defined(''ENVIRONMENT'')) { switch (ENVIRONMENT) { case ''development'': error_reporting(E_ALL); break; case ''testing'': case ''production'': error_reporting(0); break; default: exit(''The application environment is not set correctly.''); } } /* *--------------------------------------------------------------- * SYSTEM FOLDER NAME *--------------------------------------------------------------- * * This variable must contain the name of your "system" folder. * Include the path if the folder is not in the same directory * as this file. * */ $system_path = ''../hotelapp/system''; /* *--------------------------------------------------------------- * APPLICATION FOLDER NAME *--------------------------------------------------------------- * * If you want this front controller to use a different "application" * folder then the default one you can set its name here. The folder * can also be renamed or relocated anywhere on your server. If * you do, use a full server path. For more info please see the user guide: * http://codeigniter.com/user_guide/general/managing_apps.html * * NO TRAILING SLASH! * */ $application_folder = ''../hotelapp/application''; /* * -------------------------------------------------------------------- * DEFAULT CONTROLLER * -------------------------------------------------------------------- * * Normally you will set your default controller in the routes.php file. * You can, however, force a custom routing by hard-coding a * specific controller class/function here. For most applications, you * WILL NOT set your routing here, but it''s an option for those * special instances where you might want to override the standard * routing in a specific front controller that shares a common CI installation. * * IMPORTANT: If you set the routing here, NO OTHER controller will be * callable. In essence, this preference limits your application to ONE * specific controller. Leave the function name blank if you need * to call functions dynamically via the URI. * * Un-comment the $routing array below to use this feature * */ // The directory name, relative to the "controllers" folder. Leave blank // if your controller is not in a sub-folder within the "controllers" folder // $routing[''directory''] = ''''; // The controller class file name. Example: Mycontroller // $routing[''controller''] = ''''; // The controller function you wish to be called. // $routing[''function''] = ''''; /* * ------------------------------------------------------------------- * CUSTOM CONFIG VALUES * ------------------------------------------------------------------- * * The $assign_to_config array below will be passed dynamically to the * config class when initialized. This allows you to set custom config * items or override any default config values found in the config.php file. * This can be handy as it permits you to share one application between * multiple front controller files, with each file containing different * config values. * * Un-comment the $assign_to_config array below to use this feature * */ // $assign_to_config[''name_of_config_item''] = ''value of config item''; // -------------------------------------------------------------------- // END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE // -------------------------------------------------------------------- /* * --------------------------------------------------------------- * Resolve the system path for increased reliability * --------------------------------------------------------------- */ // Set the current directory correctly for CLI requests if (defined(''STDIN'')) { chdir(dirname(__FILE__)); } if (realpath($system_path) !== FALSE) { $system_path = realpath($system_path).''/''; } // ensure there''s a trailing slash $system_path = rtrim($system_path, ''/'').''/''; // Is the system path correct? if ( ! is_dir($system_path)) { exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME)); } /* * ------------------------------------------------------------------- * Now that we know the path, set the main path constants * ------------------------------------------------------------------- */ // The name of THIS file define(''SELF'', pathinfo(__FILE__, PATHINFO_BASENAME)); // The PHP file extension // this global constant is deprecated. define(''EXT'', ''.php''); // Path to the system folder define(''BASEPATH'', str_replace("//", "/", $system_path)); // Path to the front controller (this file) define(''FCPATH'', str_replace(SELF, '''', __FILE__)); // Name of the "system folder" define(''SYSDIR'', trim(strrchr(trim(BASEPATH, ''/''), ''/''), ''/'')); // The path to the "application" folder if (is_dir($application_folder)) { define(''APPPATH'', $application_folder.''/''); } else { if ( ! is_dir(BASEPATH.$application_folder.''/'')) { exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); } define(''APPPATH'', BASEPATH.$application_folder.''/''); } /* * -------------------------------------------------------------------- * LOAD THE BOOTSTRAP FILE * -------------------------------------------------------------------- * * And away we go... * */ require_once BASEPATH.''core/CodeIgniter.php''; /* End of file index.php */ /* Location: ./index.php */

Espero que esto ayude a alguien allá afuera.

CodeIgniter Rocks!


Si carga su proyecto, siga estos pasos

  1. Asegúrese de tener la aplicación de carga, system , index.php , .htaccess

  2. Modifique su config/database.php con su base de datos alojada.

  3. Asegúrese de que la ortografía de las URL, Cz LINUX Hosting distinga entre mayúsculas y minúsculas.

  4. Asegúrese de que todos los recursos estén cargados en el servidor. (CSS, JS, Imágenes, etc.)

Espera que esto te ayude :)


Tengo el mismo problema luego creo el controlador dentro de que he creado el método de índice y luego llamo al archivo cron con el siguiente comando que funciona para mí.

wget domain_name/google_script -O /dev/null google_script = "My controller class name"

esta solución funciona para mí