2009-08-11 34 views
6

Tôi vừa chuyển một trang web sang máy chủ sản xuất và cài đặt CodeIgniter một lần hoạt động hiện trả về màn hình trống. Tôi tin rằng đó là do khoảng trắng, nhưng làm thế nào bạn có nghĩa vụ phải tìm một cái gì đó như thế?Màn hình trống với CodeIgniter

Trả lời

11

Những điều cần kiểm tra:

  • Bên trong config.php, hãy chắc chắn bạn $config['base_url'] được thiết lập đúng cách
  • Were bạn có thể sao chép .htaccess của bạn không?
  • Bạn có phiên bản PHP giống nhau trong cả hai máy không? Nếu câu trả lời của bạn là có, tôi sẽ hỏi lại bạn: Bạn có chắc không?
  • Giá trị của $ db ['default'] ['hostname'] của bạn là bao nhiêu?
  • Bạn có thiết lập cơ sở dữ liệu giống nhau trong máy chủ cục bộ và sản xuất của mình không? Có thể có sự khác biệt với tên máy, tên người dùng, mật khẩu và cơ sở dữ liệu tên

Những điều khác bạn có thể làm:

  • Đặt $db['default']['db_debug']-TRUE
  • Triển khai cài đặt CodeIgniter tươi trong máy chủ sản xuất của bạn và kiểm tra nếu bạn có thể thấy điều gì đó
  • Nếu bạn vẫn thấy một trang trống, hãy triển khai một tệp PHP duy nhất có văn bản trong đó và cho chúng tôi biết những gì bạn thấy
+0

chỉ ra rằng máy chủ đang chạy PHP 4 thay vì 5. Hy vọng rằng công ty lưu trữ sẽ cập nhật nó cho tôi vào ngày mai. Cảm ơn vì đã trả lời. – Tisch

+0

@randell ứng dụng của tôi là trên CI và chạy trên máy chủ heroku .Index.php là echo "Hello" nhưng bộ điều khiển mặc định của tôi cũng không chạy. Và tôi không chắc chắn về phiên bản php của heroku và ứng dụng của tôi (CI = '2.1. 2 ', PHP = 5.5.16) – HaRsH

+2

@HaRsH, đảm bảo rằng 'display_errors' và' display_startup_errors' được đặt thành 'true'. Ngoài ra hãy chắc chắn rằng 'error_reporting' được đặt thành' E_ALL'. Xem http://stackoverflow.com/a/21429652/106778 ví dụ. – Randell

7

Tôi đã gặp phải sự cố tương tự và tôi đã giải quyết vấn đề bằng cách đặt thư mục nhật ký của mình thành ghi. Dường như, nếu bạn bật tính năng ghi nhật ký và thư mục nhật ký trên máy chủ của bạn không thể ghi được, CodeIgniter chỉ hiển thị cho bạn một trang trống.

+2

Bạn chỉ cần cứu tôi từ 3 giờ săn bắn. chúng tôi thực sự cần kiểm tra khả năng ghi của thư mục đó. –

10

Sự cố có thể do thiếu mô-đun php 'mysqli'. Đây là trình điều khiển để bạn gọi trên cơ sở dữ liệu. Tôi sẽ kiểm tra điều đó với:

php -i | grep mysqli

php -m

+0

Điều này đã giải quyết được vấn đề của tôi hai lần ngay bây giờ. CodeIgnitor sẽ trống màn hình nếu PHP không có phần mở rộng cơ sở dữ liệu thích hợp cài đặt –

+0

Điều này giải quyết vấn đề của tôi là tốt, nhờ @rlane. Không có lỗi nào ngay cả trong nhật ký apache2 để cho biết đây là vấn đề ... – Jarrett

+0

Cảm ơn bạn. Đây là vấn đề của tôi trong khi lưu trữ trên Heroku. Tôi đã phải cập nhật composer.json để bao gồm '" ext-mysql ":" * "' trong phần '" require "', sau đó chạy 'composer update' để cập nhật tệp composer.lock. –

0

Tôi có vấn đề về simillar. Tôi cố gắng hết sức để mọi người viết. Nhưng không ai làm việc cho tôi. Nhưng, finnaly tôi thấy rằng index.php của tôi là không hoàn thành khi chuyển đến máy chủ thông qua ftp. Vì vậy, nếu bất cứ ai vẫn không thể giải quyết màn hình trắng của cái chết có thể index.php của bạn không phải là hoàn thành.

1

Tải helper url của bạn khi bạn tạo một chức năng, ví dụ:

visibility function_name() 
{ 
    $this->load->helper('url'); 

} 

Nó sẽ cho bạn thấy sai sót hoặc một cái nhìn bạn nạp.

0

Nếu bạn đã chuyển sang máy chủ mới, hãy đảm bảo máy chủ đã cài đặt PHP-5 trên đó. Lý do tại sao màn hình trống vì máy chủ không thể hiển thị PHP.

Loại dòng này vào và khởi động lại sau:

sudo apt-get install php5 libapache2-mod-php5

Để khởi động lại:

sudo service apache2 restart 

Đây là khóa học giả bạn có quyền truy cập vào máy chủ thông qua ứng dụng SSH với quyền quản trị.

tốt nhất của may mắn, Niall

0

Khai báo một nơi nào đó trong tập tin /index.php của bạn:

function exception_handler($exception) { 
    echo "Uncaught exception: " . $exception->getMessage(); 
} 

set_exception_handler('exception_handler'); 

Dường như CodeIgniter chỉ xử lý trường hợp ngoại lệ được bắt nguồn từ CI_Exception, vì vậy bất kỳ còn tự do (v2?) ngoại lệ (từ thư viện của bên thứ ba, v.v.) không được xử lý.

Các vấn đề liên quan