I have been working on a site that had MySQL strict mode enabled. One person had a long user agent string that was logged in our log table and unfortunately the user agent string exceeded the limit for the column and thus caused a warning. The data was not inserted at all.
To avoid such troubles, should I disable the MySQL strict mode or should I come up with something on my own (I'm using PHP)?
Validate the data before inserting it into your database. If a string is too big to fit in your table, either your column is too narrow, or the data is invalid. You need to decide whether you truncate it before storing it, do some error reporting, or both.
Do not turn off the safety features of your DBMS, that's the completely wrong thing to do.