Trang trống Codeigniter không có lỗi

Codeigniter hiển thị trang trống PHP + MySQL + Apache + Windows 7

Gần đây, tôi đã bắt đầu một bước phát triển mới trên một trong những máy tính xách tay chạy Windows 7 của mình. Tôi cài đặt PHP 5. 3. 6, Apache 2. 2, MySQL5. Tôi di chuyển tất cả mã nguồn đã được phát triển trước đó dựa trên CodeIgnitor 1. 7.

Sự cố

Nó hiển thị trang trống khi tôi tải trang web trên máy chủ cục bộ của máy tính xách tay của mình.

Giải pháp

Tốt. Giải pháp khá dễ dàng. Nếu Codeigniter không thể phát hiện mô-đun mod_mysql trong PHP khi trang được tải, nó sẽ không trả về bất kỳ thông báo lỗi nào.
  • Vì vậy, bạn cần đảm bảo rằng bạn đã bật mod_mysql trong PHP của mình. tập tin ini.
  • Cũng đảm bảo rằng bạn. htaccess được chuyển hướng chính xác, nếu bạn đang sử dụng URL Thân thiện với Công cụ Tìm kiếm. Đảm bảo mô-đun mod_rewrite được bật trong httpd Apache của bạn. tập tin conf

It's just that easy! A simple check will save you lots time. 

Gửi email nàyBlogThis. Chia sẻ lên TwitterChia sẻ lên FacebookChia sẻ lên Pinterest

nhãn. Apache, các vấn đề, MySQL, PHP, Cửa sổ 7

n00b đây. Sau khi tìm kiếm trên các diễn đàn, tôi vẫn chưa gặp phải vấn đề này vì tôi đang gặp phải nó

Tôi có một trang web CI đã hoạt động bình thường cho đến khoảng ba ngày trước. Vấn đề của tôi là như sau

Khi nhấp vào nút – Tải trang chính xác

Khi nhấn Enter – CI Trang trống của cái chết tải

Ví dụ. Khi tôi đăng nhập, sau khi quá trình đăng nhập diễn ra, nó phải chuyển hướng tôi đến Trang tổng quan, trừ khi tôi vẫn có mật khẩu tạm thời, nơi tôi được chuyển hướng đến màn hình "Thay đổi mật khẩu" trước rồi đến Trang tổng quan

Miễn là tôi sử dụng các nút và nhấp vào chúng thì mọi thứ đều hoạt động

Khi ENTER PRESS, tôi nhận được Màn hình trống chết chóc.
Tuy nhiên, trên TAB đến BUTTON rồi ENTER nó hoạt động.

Tuy nhiên, vấn đề không nhất quán. Tôi có một số quy trình không có chế độ xem được đính kèm và KHÔNG có quy trình nào sẽ chạy – nhấn ENTER và để trống. Tất cả đều thất bại trên ENTER PRESS

Tôi đang từ từ rời khỏi xe đẩy của mình. Ghi nhật ký được BẬT, Thư mục cho bộ đệm và nhật ký là 775. KHÔNG CÓ GÌ hiển thị trong nhật ký của tôi…

Giải pháp tốt nhất

Trước tiên, hãy thử kích hoạt trình xử lý lỗi để hiển thị lỗi để biết thêm thông tin để đăng ở đây lỗi nào đang xảy ra

 // change settings for error handler to show errors
        // $this setup is used for checking errors for development to be shown... 
        ini_set['display_errors', 1];
        error_reporting[E_ALL];

nhân tiện, nếu bạn sử dụng CI phiên bản 2 cao hơn, bạn có thể thấy nó trong chỉ mục của nó. tệp php cũng có cấu hình để hiển thị lỗi

define['ENVIRONMENT', 'development']; //just set up environtment to development

Giải pháp liên quan

Php – Lỗi nghiêm trọng. Đã sử dụng hết Kích thước bộ nhớ cho phép là 134217728 byte [CodeIgniter + XML-RPC]

Thay đổi memory_limit bởi

define['ENVIRONMENT', 'development']; //just set up environtment to development
0 không phải là một giải pháp thích hợp. Xin đừng làm điều đó

Mã PHP của bạn có thể bị rò rỉ bộ nhớ ở đâu đó và bạn đang yêu cầu máy chủ chỉ sử dụng tất cả bộ nhớ mà nó muốn. Bạn sẽ không khắc phục được vấn đề gì cả. Nếu bạn theo dõi máy chủ của mình, bạn sẽ thấy rằng nó hiện có thể đang sử dụng gần hết RAM và thậm chí hoán đổi sang ổ đĩa

Có lẽ bạn nên cố gắng theo dõi mã vi phạm trong mã của mình và sửa nó

Php – vấn đề định tuyến trong codeigniter

Vấn đề là với dòng cuối cùng của bạn. tập tin htaccess

Vì ứng dụng của bạn nằm trong thư mục con ["dts"], nên dấu gạch chéo lên trước "chỉ mục. php" sẽ không hoạt động. Hãy thử loại bỏ nó để tập tin của bạn trông như thế này

Có, có một cách để hiển thị thông báo lỗi khi bạn nhận được trang trống. Nếu bạn có bất kỳ lỗi nào thì nó sẽ hiển thị các trang trống trong codeigniter. Làm theo các bước để hiển thị thông báo lỗi.
Chỉ mục mở đầu tiên. php
Đường dẫn. Thư mục/chỉ mục dự án. php
Thứ hai là. đặt sự phát triển ở đây.

thứ ba là. đặt display_errors[]

Ví dụ

Đối với bất kỳ loại trợ giúp yêu cầu ở đây

Tôi đã dành khá nhiều giờ vào đêm qua và sáng nay để cố gắng tìm ra điều này, thử những thứ khác nhau và đọc hướng dẫn sử dụng PHP

Về cơ bản, tôi gặp khó khăn khi cố gắng băm mật khẩu trước khi nó được kiểm tra với cơ sở dữ liệu

Trong bộ điều khiển, tôi có phần sau được gọi theo biểu mẫu;

function auth[]
    {
        $email    = $this->input->post['email',TRUE];
        $password = $this->input->post['password', TRUE];
        $validate = $this->loginmodel->validate[$email, $password];

Vì vậy, tôi thấy 2 cách để xác minh mật khẩu so với hàm băm;

lựa chọn 1. tôi băm mật khẩu từ biểu mẫu trong bộ điều khiển trước khi nó được kiểm tra với hàm

class Loginmodel extends CI_Model 
{
    public function __construct[]
    {
        $this->load->database[];
    }

    function validate[$email,$password]
    {

        $this->db->where['email',$email];
        $this->db->where['password',$password];
        password_verify['password',$password];

        $result = $this->db->get['dealers'];
        
        return $result;
        
    }
     
}
1 gọi mô hình và kiểm tra hàm băm mật khẩu với db hoặc…

Lựa chọn 2. bên trong mô hình, tôi kiểm tra hàm băm đối với cơ sở dữ liệu và sau đó trả lại dữ liệu cho bộ điều khiển để tiếp tục…

Mô hình để tham khảo. - [Đây là lựa chọn tốt nhất mà tôi đã nghĩ ra cho đến nay]

    function validate[$email,$password]
    {
        

        $this->db->where['email',$email];
        $hash = $this->db->where['password', $password];
        return password_verify[$hash, $password]; 

        return $result;
    }
     

Trong đó tôi gặp lỗi

class Loginmodel extends CI_Model 
{
    public function __construct[]
    {
        $this->load->database[];
    }

    function validate[$email,$password]
    {

        $this->db->where['email',$email];
        $this->db->where['password',$password];
        password_verify['password',$password];

        $result = $this->db->get['dealers'];
        
        return $result;
        
    }
     
}
2

Dù bằng cách nào, tôi đang đấu tranh về cách tốt nhất để viết cái này. Xin vui lòng một trong những bạn tốt dân gian tư vấn. [Hãy nhẹ nhàng, tôi vẫn chưa quen với OOP]

Cảm ơn bạn trước

John_Betong

Giá trị $hash có phải là cài đặt truy vấn bản dựng một phần và kết quả được sử dụng để lấy $this->db->get[…]; không?

chào John

Công bằng mà nói, tôi chỉ đang cố gắng tìm ra cách để hàm password_verify hoạt động. Cho dù ban đầu nó được gọi trong bộ điều khiển hay mô hình. Sẽ hữu ích nếu tôi đăng phần còn lại của bộ điều khiển để bạn có thể xem?

Cảm ơn vì mã, thật không may, tôi đã gặp lỗi tương tự + lỗi khác. -

class Loginmodel extends CI_Model 
{
    public function __construct[]
    {
        $this->load->database[];
    }

    function validate[$email,$password]
    {

        $this->db->where['email',$email];
        $this->db->where['password',$password];
        password_verify['password',$password];

        $result = $this->db->get['dealers'];
        
        return $result;
        
    }
     
}
3

class Loginmodel extends CI_Model 
{
    public function __construct[]
    {
        $this->load->database[];
    }

    function validate[$email,$password]
    {

        $this->db->where['email',$email];
        $this->db->where['password',$password];
        password_verify['password',$password];

        $result = $this->db->get['dealers'];
        
        return $result;
        
    }
     
}
4

ahundiak

Bạn cần truy xuất người dùng theo tên người dùng, sau đó chuyển mật khẩu băm đã truy xuất cho hàm password_verify

Xin chào Ahudaiak

Đánh giá cao lời khuyên của bạn và cuối cùng tôi hoàn toàn hiểu đó là điều tôi đang hướng tới nhưng rất tiếc là chưa quen với OOP nên tôi không chắc chính xác cách thực hiện điều này.
Đối với học CI [V3. 0], nó giống như một cách tiếp cận dễ dàng hơn để học MVC sau khi chiến đấu và thất bại với việc cài đặt Trình soạn thảo cho Laravel, tôi đã kết thúc bằng việc thử CI vì nó khởi động và chạy rất nhanh. Cuối cùng, tôi biết rằng Laravel là framework tốt hơn nhưng hiện tại tôi chỉ đang học. Bên cạnh các khuôn khổ sang một bên, liệu tôi có gặp vấn đề tương tự trong Laravel như tôi gặp phải trong CI đối với vấn đề xác minh pw này không?

oli_d111

Sẽ hữu ích nếu tôi đăng phần còn lại của bộ điều khiển để bạn có thể xem?

Có thêm mã sẽ giúp

Đã khá lâu kể từ khi tôi sử dụng Trình tạo truy vấn của CI và chưa bao giờ là một fan hâm mộ lớn vì tôi thích sử dụng câu lệnh SQL hơn

Các thông báo lỗi cho thấy truy vấn đang trả về một đối tượng $hash thay vì một chuỗi

Bạn cũng có thể thêm phần sau để hiển thị câu lệnh SQL được tạo không

________số 8

ahundiak

Và tôi biết nó lạc đề nhưng điều gì thúc đẩy bạn học CI?

Bạn có biết phiên bản mới nhất của CodeIgniter không? . Tôi có ấn tượng và hy vọng rằng phiên bản này được viết là "đứng trên vai người khổng lồ". Phiên bản mới dường như chỉ sử dụng các tính năng tốt nhất từ ​​các Khung công tác PHP hiện có. Tôi đã sử dụng phiên bản GitHub và nó là một cải tiến vượt bậc so với phiên bản đầu tiên Phát hành lần đầu vào ngày 28 tháng 2 năm 2006

Làm cách nào để ẩn lỗi PHP trong CodeIgniter?

Sử dụng error_reporting[0]; . Save this answer.

Làm cách nào để bật báo cáo lỗi trong CodeIgniter?

Theo mặc định, CodeIgniter hiển thị tất cả lỗi PHP. Bạn có thể muốn thay đổi hành vi này sau khi quá trình phát triển của bạn hoàn tất. Bạn sẽ tìm thấy hàm error_reporting[] nằm ở đầu chỉ mục chính của bạn. tệp php .

Làm cách nào để hiển thị lỗi trong CodeIgniter 4?

Cấu hình. Theo mặc định, CodeIgniter sẽ hiển thị tất cả các lỗi trong môi trường phát triển và thử nghiệm và sẽ không hiển thị bất kỳ lỗi nào trong môi trường sản xuất. Bạn có thể thay đổi điều này bằng cách đặt biến CI_ENVIRONMENT trong. tệp env .

Chủ Đề