Trình quản lý ảnh "Media Manager" của Joomla có một chức năng rất hay: Cho phép upload nhiều ảnh cùng lúc và hiển thị mức độ % hồn thành cơng việc. Tuy nhiên trong trường hợp nếu như bạn cài đặt phiên bản
Flash Player 10 thì chức năng trên sẽ bị vơ hiệu hóa, khơng có bất cứ một
cửa sổ nào xuất hiện khi bạn nhấn vào nút [Browse Files].
Hình 01: Trình upload ảnh mặc định của Joomla khơng hoạt động khi cài Flash 10
Hình 02: Sử dụng trình upload ảnh đơn giản (upload từng file một)
Lỗi này cũng ảnh hưởng tới tất cả các trình upload ảnh/video/flash có sử dụng cơng nghệ Flash chứ khơng riêng gì Joomla.
Để khắc phục lỗi trên có 2 cách:
Không cài đặt Flash 10
Hoặc vào Site > Global Configuration > Media Settings > mục "Enable Flash Uploader" chọn No
Tắt bỏ trình upload ảnh dựa trên Flash của Joomla
Lỗi "session.save_path" Biến session.save_path được dùng để làm gì? Biến session.save_path được dùng để làm gì?
Trên các Webserver chạy PHP, thông tin về phiên làm việc hiện tại của người sử dụng thường được lưu vào các file khác nhau và đặt vào một thư mục nào đó. Chẳng hạn:
thư mục "C:\wamp\tmp", "D:\xampp\tmp"... (đối với hệ thống Windows)
thư mục "/tmp", "/usr/var/tmp", "/var/lib/php/session"... (đối với hệ thống Linux)
Thư mục mà Webserver dùng để lưu các phiên làm việc này được khai báo thông qua biến "session.save_path" và nằm trong file "php.ini" giống như dưới đây:
[Session]
; Handler used to store/retrieve data. session.save_handler = files
; Path to store data
session.save_path = "c:/wamp/tmp" ; Whether to use cookies.
session.use_cookies = 1
; Name of the session (used as cookie name). session.name = PHPSESSID
; Initialize session on request startup. session.auto_start = 0
...
Những lỗi có thể xảy ra với biến "session.save_path"
Do biến "session.save_path" được khai báo trong file "php.ini" nên khi cài đặt cũng như khi sử dụng Joomla! có 2 khả năng lỗi có thể xảy ra:
Biến "session.save_path" chưa được thiết lập, nghĩa là có giá trị là "None" hoặc "Not Set"
Biến "session.save_path" đã được thiết lập là đường dẫn tới một
thư mục nào đó, nhưng bạn lại khơng có quyền ghi đối với thư mục này - "Unwriteable"
Cách xử lý lỗi
Bước 1: Xác định giá trị hiện tại của biến "session.save_path"
Tạo một file "session.php" có nội dung như sau: <?php
echo (($sp=ini_get('session.save_path')) ?$sp:( 'none' ) ); ?>
Sau đó mở link tới file này. VD: http://yoursite.com/joomla/session.php.
Thông tin hiển thị trên màn hình chính là đường dẫn tới thư mục chứa session của Webserver.
Bước 2: Thiết lập lại giá trị biến "session.save_path"
Đầu tiên tạo một thư mục (hoặc chọn một thư mục) mà bạn có quyền ghi lên nó. Thiết lập Writeable (nếu là Host Windows) hoặc CHMOD 777 (nếu là Host Linux) cho thư mục này.
Tạo một file ".htaccess" ở thư mục gốc chứa Joomla của bạn với nội dung sau:
php_value session.save_path "/duong/dan/sesion/moi"
Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file ".htaccess". Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn. Hoặc tạo một file "php.ini" ở thư mục gốc chứa Joomla của bạn với nội dung sau:
session.save_path = "/duong/dan/session/moi"
Nếu bạn đang làm trên LOCALHOST thì chỉ cần mở file php.ini và chỉnh
sửa trực tiếp, sau đó khởi động lại Webserver. Bạn cũng cần lưu ý: Không phải HOSTING nào cũng cho phép bạn thiết lập lại biến "session.save_path" bằng file "php.ini". Hoặc bạn phải copy file này tới mọi thư mục. Trong trường hợp này bạn cần liên hệ trực tiếp với HOSTING và đề nghị họ thiết lập lại giúp bạn.
Hoặc mở file "configuration.php" và thêm vào đầu file đoạn mã sau: <?php
ini_set('session.save_path','/duong/dan/session/moi'); ?>
Lưu ý chung:
Thay "/duong/dan/session/moi" bằng đường dẫn phù hợp với Host của bạn, chẳng hạn "D:\www\yoursite.com\tmp";
"/home/yoursite/public_html/tmp",
Part 11