Я хочу создать простой установщик для своего приложения. Я создал библиотеку под названием «установщик», который будет проверять базу данных «database» => переменная. Если поле базы данных не определено, оно будет перенаправлено на установочную папку. вот мой сценарий:Codeigniter library работает на localhost, но не на веб-сервере
<?php
class Installer {
public function __construct() {
//get the CI instance
$CI =& get_instance();
$CI->load->database();
//check if databse config set
if ($CI->db->database == "") {
redirect('install');
} else {
if (is_dir('install')) {
echo '<i>Plese delete or rename <b>Install</b> folder</i>';
exit;
}
}
}
}
Я поставил библиотеку в автозагрузку с базой данных и сеанса библиотеки
$autoload['libraries'] = array('database','session','installer');
Он хорошо работает на моем локальном хосте. Но когда я загрузил его на свой веб-сервер в первый раз, я получил 404 ошибку (из-за первой буквы файла контроллера должен быть капитал), то я исправил это. Но когда я получил мой URL http://example.com/demo (мой файл в public_html/демо/ каталога) он показывает ошибку, как
A PHP Error was encountered
Severity: Notice
Message: Uninitialized string offset: 0
Filename: mysqli/mysqli_driver.php
Line Number: 109
Backtrace:
File: /home/xxxxx/public_html/demo/application/controllers/Home.php
Line: 25
Function: __construct
File: /home/xxxxx/public_html/demo/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: mysqli::real_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO)
Filename: mysqli/mysqli_driver.php
Line Number: 161
Backtrace:
File: /home/xxxxx/public_html/demo/application/controllers/Home.php
Line: 25
Function: __construct
File: /home/xxxx/public_html/demo/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/xxxxx/public_html/demo/system/core/Exceptions.php:272)
Filename: core/Common.php
Line Number: 568
Backtrace:
File: /home/xxxxxx/public_html/demo/application/controllers/Home.php
Line: 25
Function: __construct
File: /home/xxxxxx/public_html/demo/index.php
Line: 292
Function: require_once
A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: controllers/Home.php
Line Number: 25
, когда я использую это локальным он хорошо работает. Но когда я использую это на своем сервере, я получил эту ошибку. Мой конфигурационный файл базы данных:
$db['default'] = array(
'dsn' => '',
'hostname' => '',
'username' => '',
'password' => '',
'database' => '',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Я уже упоминал этот сценарий хорошо работает в моем WAMP сервера без ошибок. Но проблема заключается в реальном сервере. –
Я обновил свой ответ, пожалуйста, проверьте его, если он вам поможет. – ranakrunal9
Спасибо за помощь. Но не работает. –