nhu thep nguyen

Lỗi Docker can't start because docker container with id exists?
nhu thep nguyen đã trả lời

Sau một thời gian tìm hiểu thì mình đã tìm ra cách khắc phục như sau.

Đầu tiên bạn list danh sách những container đang có

docker ps -a

Sau đó bạn xoá container bị báo lỗi trùng id bằng lệnh

docker rm <container-id>

Một cách nhanh hơn là bạn xoá toàn bộ container đi và chạy lại, xoá toàn bộ container bằng một trong hai cách sau

docker-compose rm -v 
//hoặc
docker system prune -f




nhu thep nguyen

Làm thế nào để bỏ file ra khỏi git add
nhu thep nguyen đã trả lời

Để bỏ 1 file ra khỏi lệnh bạn vừa add trước khi commit thì bạn dùng lệnh

git reset <file>

Nếu bạn lỡ add nhầm quá nhiều file thì bạn có thể dùng lệnh

git reset

lệnh này sẽ bỏ toàn bộ file bạn vừa add, bạn sẽ phải add lại để commit.



nhu thep nguyen

[Laravel] Làm sao để chạy command trực tiếp mà không phải qua schedule?
nhu thep nguyen đã trả lời

Bạn có thể gọi command của Laravel trực tiếp như sau:

Artisan::call('email:send', [
        'user' => 1, '--queue' => 'default'
    ]);

hoặc

Artisan::call('email:send 1 --queue=default');

ở đây email:send là định danh của command, mình chỉ lấy ví dụ, và các tham số như user, queue cũng vậy, bạn thay với command tương ứng của bạn là được.

Chi tiết thì bạn có thể tham khảo trên tài liệu của laravel về command tại đây.






nhu thep nguyen

[Magento 2] Làm sao để biết sản phẩm đang xem có phải là sản phẩm configurable hay không?
nhu thep nguyen đã trả lời

Với magento 2 bạn có thể kiểm tra sản phẩm có phải là configurable hay không bằng cách sau:

if($product->getTypeId() == \Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE){
          echo "đây là sản phẩm configurable";
}

Ở đây  $product đang là object của \Magento\Catalog\Model\Product 

Với magento 1 bạn có thể kiểm tra sản phẩm có phải là configurable hay không bằng cách sau:

if($product->getTypeId() == Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE){
          echo "đây là sản phẩm configurable";
}

Ở đây  $product đang là object của Mage_Catalog_Model_Product



nhu thep nguyen

đã thích câu trả lời

Bạn thử đặt đoạn js trong $(document).ready() và chuyển .click thành .on('click') xem được không



nhu thep nguyen

Lỗi storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
nhu thep nguyen đã trả lời

Sau một thời gian tìm hiểu thì mình cũng đã tự tìm được cách khắc phục, hi vọng ai bị lỗi tương tự có thể tham khảo mà không phải mất nhiều thời gian tìm hiểu.

Hệ thống của mình dùng Centos, sau khi bên nhà cung cấp nâng cấp server, có thể sau khi restart lại server thì đã bật lại mode của SELinux.

SELinux tên đầy đủ là Security-Enhanced Linux. Đây là một tính năng bảo mật của Linux được tích hợp trong nhân Linux. Nó được sử dụng để kiểm soát quyền truy cập vào người dùng, tệp, tài nguyên mạng và ứng dụng của hệ thống Linux. SELinux cung cấp các quyền hệ thống tệp mở rộng trên quyền của hệ thống tệp Linux truyền thống được gọi là Kiểm soát truy cập tùy ý (DAC).

SELinux có 3 mode là enforcingpermissive, và disabled.

Để xem mode hiện tại thì dùng lệnh:

sudo sestatus

Hiện tại Current mode là enforcing, mình chuyển mode thành permissive bằng lệnh

sudo setenforce 0

Sau đó thì thư mục storage/logs của mình có quyền ghi.



nhu thep nguyen

đã thích câu trả lời

Kiểm tra lại xem thư mục đã phân quyền đúng chưa nhé ceo.


Thực hiện lại các bước:

cd /var/www/html/my-project/storage
sudo chmod 777 -R .


để phân quyền full cho toàn bộ các thư mục + file trong storage.


Chào thân ái và quyết thắng.



nhu thep nguyen

Lỗi 500 Server error
nhu thep nguyen đã trả lời

Lỗi 500 internal server error là lỗi của server chạy code Laravel của bạn. Để khắc phục lỗi này thì phải xem được nguyên nhân tại sao lại gây ra lỗi, bạn có thể thử theo những cách sau:

  • Xem log của laravel trong thư mục storage/logs/
  • Xem thông báo lỗi từ respone trả về, nếu không có chi tiết cụ thể của lỗi mà chỉ ra Server erro thì bạn vào file .env, set lại cờ debug từ false thành true.
  • Xem log của web service bạn sử dụng: apache, nginx...

Sau khi xem log được nguyên nhân vì sao dẫn đến lỗi thì sẽ đưa ra cách cụ thể cho từng trường hợp được. Chúc bạn may mắn!





nhu thep nguyen

đã thích câu trả lời

Khi chọn selector: ".product-options-wrapper div" sẽ cho ra 3 div:


$(".product-options-wrapper div").length -> 3 items


Thay vì trỏ như trên, có thể sửa thành:

jQuery(".product-options-wrapper .fieldset div").each(function () {
    jQuery(this).on("click", function (e) {
        alert('ok');
    });
});