2011-07-13 18 views
6

Tôi mã hóa một vấn đề kể từ sáng nay, sau khi tôi di chuyển trang web của mình từ máy cục bộ sang máy chủ.CodeIgniter - Trang trống trên cơ sở dữ liệu tự động tải

Để thay thế ngữ cảnh, tôi đã phát triển một trang web có khung CodeIgniter và mọi thứ trước khi quá trình di chuyển hoạt động tốt.

Sau một nghiên cứu dài, dường như khi tôi đặt này:

$autoload['libraries'] = array('database'); 

Tôi có một trang trống trên trang web của tôi, mà không cần bất kỳ php/lỗi ci trong các bản ghi.

Và nếu tôi để điều này:

$autoload['libraries'] = array(); 

Trang web đang làm việc một cách chính xác (tốt, tôi không thể đăng nhập vào nhưng tôi không có một trang trống).

Tôi đã thêm tệp mysql.so vào tệp php.ini, nhưng nó cũng không giúp tôi.

Có ai đó đã gặp sự cố này không? Làm thế nào bạn có thể giải quyết nó xin vui lòng?

Cảm ơn!

B

Trả lời

2

Bạn có chắc chắn thông tin đăng nhập kết nối db của bạn là chính xác không? Nếu bạn switchd máy chủ này có vẻ như nó có thể là vấn đề.

Ngoài ra, CodeIgniter đặt error_reporting (0) cho môi trường sản xuất --- do đó trang trống. Kiểm tra bản ghi của bạn dir (là nó có thể ghi bởi quá trình webserver ..?) Cho bất kỳ thông tin khác.

+0

Tôi cố gắng để kết nối với các dòng lệnh và tất cả mọi thứ là OK vì vậy tôi đoán nó sẽ không là một vấn đề để có cùng thông tin trong tệp database.php –

+0

Tôi cũng có: error_reporting (E_ALL); và dòng duy nhất trong nhật ký liên quan đến db là: DEBUG - 2011-07-13 16:37:57 -> Lớp trình điều khiển cơ sở dữ liệu được khởi tạo –

+0

tìm kiếm ứng dụng của bạn (từ thư mục gốc) cho bất kỳ trường hợp nào khác của "error_reporting" - - CI có thể ghi đè cài đặt sau khi bạn – jlb

0

Có vẻ như cơ sở dữ liệu của bạn không được cấu hình đúng cách và cài đặt PHP của bạn đang chặn các lỗi.

Hãy xem file log của bạn hoặc thử đặt

ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 

trong index.php của bạn và xem những gì bạn nhận

+0

được tắt trong cấu hình mã vạch, điều đó sẽ không hoạt động – Christophe

+0

Các tham số db có vẻ OK khi tôi có thể kết nối nó với dòng lệnh và tôi có thể truy cập nó trên máy móc. Máy chủ DB không phải là địa phương. –

1

Hãy khởi động lại máy chủ web của bạn và thử lại.

tạo tệp info.php mới bằng phpinfo();

<?php 

phpinfo(); 

?> 

thấy nếu phần mở rộng mysql đang tải nếu tải của nó

cố gắng để làm một chmod 0777 để directoy bạn

1

này xảy ra khi bạn không có mô-đun mysql cho php cài đặt. Trong cửa sổ, tôi tin rằng điều này đi kèm với trình cài đặt php. Nếu bạn đang trên Linux, ví dụ trên Fedora, đây là cách bạn cài đặt nó:

sudo yum -y install php-mysql

Khởi động lại máy chủ web sau khi cài đặt.Giả sử bạn đang sử dụng apache httpd:

sudo service httpd restart

Bây giờ bạn sẽ thấy các trang một lần nữa (giả sử bạn có cài đặt chính xác trong conf/database.php).

1

Tôi vừa gặp lỗi này, sau khi gỡ lỗi trình điều khiển MYSQL tôi tìm ra vấn đề.

Vấn đề là trên tệp cấu hình cơ sở dữ liệu tôi đang sử dụng MYSQL làm trình điều khiển khi trên máy chủ, nó đã cài đặt MYSQLI, chỉ cần thay đổi nó trên tệp cấu hình và bạn đã hoàn tất.

Hy vọng điều này sẽ giúp ai đó.

0

Đối với tôi, có cùng vấn đề khi sử dụng Z-WAMP, phải bỏ ghi chú "extension = php_mysql.dll" từ tệp php.ini. Cũng được gán "mysql.default_port = 3306" và "mysql.default_host = localhost". Hy vọng nó giúp ai đó ra khỏi đó

4

Tôi gặp vấn đề tương tự với các trang trống có vẻ liên quan đến việc tải cơ sở dữ liệu, có thể là tự động tải hoặc gọi $this->load->database(); trong trình tạo mô hình. Tôi đã phải sửa đổi tệp 'php.ini' của mình bằng cách nhận xét ra extension=php_pdo_mysql.dll và bỏ ghi chú extension=php_mysql.dll (tức là bật lại PDO). Tôi đang chạy Windows 8.1, Apache 2.2 và PHP 5.3.27.

Câu trả lời này tương tự như câu trả lời khác, nhưng tôi không thể thêm nhận xét để làm rõ vì tôi vừa đăng ký. Phải mất một vài giờ và rất nhiều Googling để giải quyết, vì vậy hy vọng điều này sẽ giúp ai đó.

0

Đối với những người sử dụng Linux (. Đặc biệt là ubuntu) và vẫn nhận được các trang trống, làm như sau:

  1. sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cli mysql-server
  2. sudo service apache2 restart
  3. $autoload['libraries'] = array('database');
0

Cài đặt php5-pgsql sửa nó cho tôi (trên Ubuntu)

7

trong appl ication/config/database.php kiểm

$db['default']['dbdriver'] = 'mysql'; 

được thiết lập để

$db['default']['dbdriver'] = 'mysqli'; 
Các vấn đề liên quan