Diễn đàn Trái Tim Yên Bái 2024

 Quên mật khẩu
 Đăng ký
Xem: 7089|Trả lời: 5
Thu gọn cột thông tin

Tổng hợp một số lỗi và cách khắc phục khi lập trình php !

[Lấy địa chỉ]
  • Tâm trạng hàng ngày
    Suy ngẫm
    22-4-2024 05:18 PM
  • Đã viết: 4 ngày

    [LV.2]Spam 2

    Đăng lúc 16-4-2008 07:28 PM | Xem tất |Chế độ đọc

    Mời bạn đăng ký để giao lưu kết bạn nhé <3

    Bạn phải đăng nhập để xem được nội dung, nếu bạn chưa có tài khoản? hãy Đăng ký

    x
    Topic này tổng hợp các lỗi khi học lập trình với php bạn gặp phải,mong sự đóng góp của mọi ngươì cho topic này.
    Trước hết là lỗi
    Mã nguồn:

    Parse error: parse error, unexpected $end in ... line ....


    Lỗi này xảy ra với php 5. Lỗi này xảy ra khi gọi một hàm php trong php_info(),thường do việc sử dụng Short Open tags trong php. Để khắc phục bạn mở file php.ini trong apache,tìm kiếm với short_open_tag và sửa lại như sau :
    Mã nguồn:

    short_open_tag = On



    Lỗi
    1. [function.move-uploaded-file]: failed to open stream: Permission denied in
    Sao chép mã
    - chú ý cụm: Permission denied in lỗi này là do file/thư mục không đủ permission
    - cách khắc phục: chmod file/thư mục thành 0777

    Lỗi
    1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\server\basic\lib_tmp\test.php:2) in D:\server\basic\lib_tmp\test.php on line 3
    Sao chép mã
    hoặc
    1. Warning: Cannot modify header information - headers already sent by (output started at D:\server\basic\lib_tmp\test.php:2) in D:\server\basic\lib_tmp\test.php on line 3
    Sao chép mã
    - Lý do: hàm session_start() và header() chỉ được thực hiện khi trước đó không có 1 byte dữ liệu nào được sent đế trình duyệt.
    Câu báo lỗi trên cho biết có 1 byte dữ liệu nào đó ở dòng 2 của file
    1. D:\server\basic\lib_tmp\test.php (output started at D:\server\basic\lib_tmp\test.php:2)
    Sao chép mã
    cách khắc phục:
    - thủ công: dò đến dòng co byte được sent (output started at D:\server\basic\lib_tmp\test.php:2) và bỏ hết các phần dữ liệu được sent
    - dùng ob_clean() trước session_start() hoặc header() để xóa hết các ký tự đã sent
    chú ý: file php như sau sẽ bị lỗi khi dùng session_start() hoặc header()
    Lỗi
    1. <?php
    Sao chép mã
    Mã nguồn:
    1. session_start();
    2. ?>
    Sao chép mã
    lý do: có 1 ký tự \n (enter) nằm ngoài cặp <?php .. ?>
    cách sửa:
    Xóa ký tự trắng ( Enter)

    <?php


    Mã nguồn:

    session_start();
    ?>



    Lỗi
    1. Warning: preg_replace() [function.preg-replace]: Unknown modifier '5' in D:\localhost\AppServ\www\game\list.php on line 16
    Sao chép mã
    - Lỗi khi sử dụng preg_replace
    - Bạn đã viết thiếu mất phần replacement.
    Lỗi
    1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\server\basic\lib_tmp\test.php:2) in D:\server\basic\lib_tmp\test.php on line 3
    Sao chép mã
    Lỗi

    hoặc
    1. Warning: Cannot modify header information - headers already sent by (output started at D:\server\basic\lib_tmp\test.php:2) in D:\server\basic\lib_tmp\test.php
    Sao chép mã
    Lỗi BOM , lỗi này rất hay gặp , nếu bạn nào mới học PHP chắc sẽ phải nhức đầu , vì nó làm tất cả các session ko hoạt động vì dòng trên cùng của code bị chèn tự động 1 kí tự lạ mà mình ko nhìn thấy
    Cách sửa (2 cách):
    +(cách 1) vào MSDOS chuyển đến thư mục chứa file bị BOM
    gõ : type tenfile.php bạn sẽ nhìn thấy ngay phía trên đầu file có kí tự lạ , để sửa bạn gõ : edit tenfile.php
    +(cách 2) Bạn copy toàn bộ code và paste vào Notpad sau đó lưu lại file với tên như cũ (cách này sẽ là lỗi font nếu trong file php của bạn có dùng tiếng việt)

    ST và tổng hợp
  • Tâm trạng hàng ngày
    Suy ngẫm
    22-4-2024 05:18 PM
  • Đã viết: 4 ngày

    [LV.2]Spam 2

     Tác giả| Đăng lúc 16-4-2008 07:33 PM | Xem tất
    Ngoài ra có 1 số lỗi trong database như dupe column hay un Know Column...WB sẽ nêu ra vài trường hợp và cách giải quyết sau...giờ chờ nó lỗi để lấy ví dụ
  • Tâm trạng hàng ngày
    Suy ngẫm
    22-4-2024 05:18 PM
  • Đã viết: 4 ngày

    [LV.2]Spam 2

     Tác giả| Đăng lúc 17-4-2008 09:07 AM | Xem tất
    Lỗi này của VBB mà TTYB vừa nãy dính...xui thật. vừa hôm qua nói là nó lỗi thiệt " />
    1. Database error in vBulletin 3.6.8:

    2. Invalid SQL:
    3. INSERT INTO mst_thread
    4.         (postusername, postuserid, title, iconid, visible, forumid, dateline, open, attach, lastpost, lastposter, replycount, hiddencount, deletedcount)
    5. VALUES
    6.         ('WindBows', 5, 'Portable Corel Draw 11 (only 20 Mb)', 0, 1, 49, 1208396731, 1, 0, 1208396731, 'WindBows', 0, 0, 0);

    7. MySQL Error  : Duplicate entry '967' for key 1
    8. Error Number : 1062
    9. Date         : Thursday, April 17th 2008 @ 09:45:31 AM
    10. Script       : http://traitimyenbai.net/forum/newthread.php?do=postthread&f=49
    11. Referrer     : http://traitimyenbai.net/forum/newthread.php?do=newthread&f=49
    12. IP Address   : 58.187.84.6
    13. Username     : WindBows
    14. Classname    : vB_Database
    Sao chép mã
    Lỗi này khi viết bài hiện ra. ko gửi được bài mới...
    Lý do chưa rõ nhưng có thể do trùng id bài viết

    Đơn giản vào trong acp ..phần Duy trì/Repair / Optimize Tables và chạy là hết

    có thể vào phpmyadmin Repair lại các table hoặc chỉ cần repair cho table mst_thread cũng đượcI-)
    Đăng lúc 18-4-2008 06:15 AM | Xem tất
    [color="Blue"]MySQL Error  : Duplicate entry '967' for key 1 <---- rõ mồn một đây còn gì nữa !
  • Tâm trạng hàng ngày
    Hạnh phúc
    2-7-2025 09:43 PM
  • Đã viết: 13 ngày

    [LV.3]Spam 3

    Đăng lúc 18-4-2008 03:48 PM | Xem tất
    Lỗi này rất hay gặp trong vbb và ibf...
    unknow column

    Lỗi

    MySQL Error   : Unknown column 'pagetext' in 'field list'

    1. Database error in vBulletin 3.7.0 Beta 4:
    2. Invalid SQL:
    3. INSERT INTO post
    4.     (showsignature, allowsmilie, username, userid, title, pagetext, iconid, visible, parentid, threadid, dateline, ipaddress, attach)
    5. VALUES
    6.     (1, 1, 'admin', 1, '', 'dsdsdsdsdsdsd', 0, 1, 11, 4, 1208532122, '127.0.0.1', 0);
    7. MySQL Error   : Unknown column 'pagetext' in 'field list'
    8. Error Number  : 1054
    9. Date          : Friday, April 18th 2008 @ 11:22:02 PM
    10. Script        : http://localhost/VBB/370/newreply.php?do=postreply&t=4
    11. Referrer      : http://localhost/VBB/370/newreply.php?do=postreply&t=4
    12. IP Address    : 127.0.0.1
    13. Username      : admin
    14. Classname     : vB_Database
    15. MySQL Version : 5.0.45-community-nt-log
    Sao chép mã
    Lỗi này do thiếu cột trong bảng (column in table) của cơ sở dữ liệu

    Nhìn đoạn báo lỗi trên có thể thấy thiếu column pagetext trong table post

    Cách sửa: có thể vào phpmyadmin để add thêm column..nhưng đơn giản hơn chỉ cần chạy đoạn query sau: tại ô SQL của phpmyadmin
    ALTER  TABLE  `post`  ADD  `pagetext` VARCHAR( 250  )  NOT  NULL ;
    Đây chỉ là 1 ví dụ. các bạn có thể tùy biến cho mỗi dạng lỗi thiếu column pagetext trong table  post như trên
    Đăng lúc 15-3-2012 11:34 AM | Xem tất
    1. Database error in vBulletin 3.8.4:

    2. Invalid SQL:
    3. DELETE FROM nguyenco_nctvip.uchome_session WHERE uid='1';

    4. MySQL Error   : DELETE command denied to user 'nguyenc3_potay'@'localhost' for table 'uchome_session'
    5. Error Number  : 1142
    6. Request Date  : Thursday, March 15th 2012 @ 04:32:40 AM
    7. Error Date    : Thursday, March 15th 2012 @ 04:32:40 AM
    8. Script        : http://nguyencongtrund.net/school/login.php?do=logout&logouthash=1331785904-7dd0c91c9e196ac231c0cd6cb7ba1148407cdf16
    9. Referrer      : http://nguyencongtrund.net/school/
    10. IP Address    : 113.177.110.236
    11. Username      : Mr.Kezy
    12. Classname     : vB_Database
    13. MySQL Version : 5.1.61-log

    Sao chép mã
    loi nay la loi j anh ?
    Bạn phải đăng nhập mới được đăng bài Đăng nhập | Đăng ký

    Quy tắc điểm

    Đóng

    Thông báoTrước /1 Sau

    Phòng tối|Lưu trữ|Diễn đàn Yên Bái 2024 Community Guidelines |

    GMT+7, 14-10-2026 09:08 AM , Processed in 0.035945 second(s), 19 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    Trả lời nhanh Lên trên Trở lại danh sách