Sunday, June 24, 2018

This request has been blocked; the content must be served over https

This summary is not available. Please click here to view the post.

Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)

  • error ตอนเราจะ query inner join หลายๆ ตาราง
  • ประมาณว่า collations ของตารางไม่เหมือนกันจะเอามาเปรียบเทียบกันไม่ได้ error ด้วยนะ
Solved
  • เติม collation ตามหลัง column ที่จะทำการเปรียบเทียบ ให้ข้างใดข้างหนึ่งให้เหมือนกับอีกของอันหนึ่ง
SELECT c1, c2 FROM  t1 as a left join t2 as b on a.c1 = (b.c1 collate utf8_general_ci )
Ref
  • https://stackoverflow.com/questions/45621178/illegal-mix-of-collations-utf8-unicode-ci-implicit-and-utf8-general-ci-implic?rq=1
  • https://dev.mysql.com/doc/refman/8.0/en/charset-collate.html

MySQL Incorrect datetime value: '0000-00-00 00:00:00'

  • ปัญหาคือ mysql insert แล้ว error ทั้งที่ column นั้น ตั้ง default เป็น 0000-00-00 แล้วนะ (date type)
  • พยายาม insert โดยกำหนดค่า '0000-00-00' ไปให้ด้วยก็ยังไม่ได้อยู่ดี
  • Note that a datetime value of midnight Jan 1, 1970 ('1970-01-01 00:00:00') is a "zero date". That will be evaluated to be '0000-00-00 00:00:00'
  • ใช้ '1970-01-01' แทน หว่า แต่มันไม่เข้าท่า
  • สุดท้ายเค้าบอกว่าให้ตั้งค่า sql mode ให้ใช้ 0000 ได้
  • คอนฟิกบน Ubuntu 18.04 
Solved
sudo nano /etc/msyql/my.cnf
  • เพิ่มตามนี้เข้าไปในไฟล์
[mysqld]
# ... other stuff will probably be here
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  • จากนั้น save และ restart mysql
sudo systemctl reload apache2
  • เพียงเท่านี้มันก็จะ insert ผ่านแล้ว
Ref
  • https://stackoverflow.com/questions/35565128/mysql-incorrect-datetime-value-0000-00-00-000000/35565866
  • https://www.sitepoint.com/quick-tip-how-to-permanently-change-sql-mode-in-mysql/

Start Apache and MySQL Automatically XAMPP

Step
  • Run as admin 
  • Stop process and check left side for install as service
  • goto Service manager by services.msc and check auto start when boot
Ref
  • https://stackoverflow.com/questions/20960296/how-to-start-apache-and-mysql-automatically-when-windows-8-comes-up

Sunday, June 10, 2018

Apache problems when trying to set up SSL

  • ประเด็นคือ พยายามทำ HTTPS บน Ubuntu 18.04
  • คอนฟิกไฟล์แล้ว พยายามรีโหลดด้วยคำสั่ง 
sudo systemctl reload apache2
  • แล้วเจอปัญหาประมาณ apache service not active
Failed to reload apache.service: Unit apache.service not found.
  • แก้ไขคอนฟิกกลับเหมือนเดิม แล้ว รีโหลดอีกครั้งก็ไม่ได้
  • มีอย่างเดียวคือ รีบูตระบบใหม่ จึงใช้คอนฟิกค่าเดิมได้
  • เจอในเว็บนอก พอแก้ไขคอนฟิกคืนเหมือนค่าเดิม แล้วใช้คำสั่งนี้
sudo service apache2 restart
Refer
  • https://unix.stackexchange.com/questions/338531/apache-problems-when-trying-to-set-up-ssl-debian

Popular Posts