Greetings all,
My host provider needed up update internals on my host which involved such things as EasyApache from v3 to v4 in addition to MySQL from 5.4 to 5.7. Also, while I never noticed it before, I see I'm also running version 7.2 of PHP. Anyways, after the upgrade yesterday my forums have been throwing the following errors:
===== ERROR LOG =====
FORUM-USERNAME-1
Apply Filter: Only show the error messages of this IP address xx.xx.xx.xx
Reverse chronological order of list Today at 11:10:08 AM
Apply Filter: Only show the error messages of this session cf6d3ecddc971222751585e4cbc856ef
Apply Filter: Only show the errors of this type Type of error: Database
Apply Filter: Only show the error messages of this URL
https://SITE-PUBLIC-URL/smf/index.php?action=unreadreplies
Apply Filter: Only show the errors with the same message
Database Error: Expression #1 of ORDER BY clause is not in SELECT list, references column 'DATABASE_NAME.t.id_last_msg' which is not in SELECT list; this is incompatible with DISTINCT
SELECT DISTINCT t.id_topic
FROM smf_topics AS t
INNER JOIN smf_messages AS m ON (m.id_topic = t.id_topic AND m.id_member = 90)
LEFT JOIN smf_log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = 90)
LEFT JOIN smf_log_mark_read AS lmr ON (lmr.id_board = t.id_board AND lmr.id_member = 90)
WHERE t.id_board IN (41, 4, 40, 5, 9, 38, 6, 10, 24, 31, 15, 19, 36, 13, 12, 18, 16, 17, 23, 22, 21, 20, 32, 42, 25, 39, 50, 54, 55)
AND t.id_last_msg >= 8455
AND (IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0))) < t.id_last_msg
AND t.approved = 1
ORDER BY t.id_last_msg DESC
LIMIT 0, 20
Apply Filter: Only show the errors from this file
File: /home/SITEDIR/public_html/SMF/Sources/Recent.php
Line: 1116
===== END ERROR LOG ENTRY =====
Hosting specific info is as follows:
Apache Version 2.4.39
PHP Version 5.4.45
MySQL Version 5.7.26
Architecture x86_64
Operating System linux
Path to Sendmail /usr/sbin/sendmail
Path to Perl /usr/bin/perl
Perl Version 5.16.3
Kernel Version 2.6.32-042stab136.1
MyPHP Admin
cpsrvd 11.78.0.30
Database client version: libmysql - 5.1.73
PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation
PHP version: 7.2.7
Server connection collation - utf8mb4_unicode_ci
Packages which had been installed and working prior to the host updating are as follows:
Google Analytics Code 1.5.1
Stop Spammer 2.3.9
Custom Copyright
Default_Membergroup 2.0
Search Box Permissions 1.0
Responsive Curve 1.0.0
Hide Topic Replies 1.7
Sneaky Editing 1.1
TopicRenamer 2.2
Block Email Usernames 0.4.2
URL Popup 1.0.2
Anti-SID(PHPSESSID) canonical tag 0.6
Registered Links 3.0
Bad Behavior mod 1.5.21
Optimus 1.9.9
I checked the settings with the repair_settings file and they're all fine. I also ran check / repair database from within CPanel and no changes were made.
I've only noticed this on a limited amount of users at the moment so I'm unsure if this is isolated to certain member groups or not, but with at least one user it's been occuring between yesterday and today. I'm hoping somebody might have a idea where to look so I don't have to take the entire forum down to perform troubleshooting.
Thanks in advance.
smf 2.0.x does not currently support php 7.2
run 7.0 or 7.1
Thanks for the heads-up. I'll have my host do a rollback.
Just as a point of reference, will 2.1 be the same or will it support PHP 7.2?
Thanks for quick response.
it already supports php 7.2.
Sorry to be a pain, but I rolled back PHP to 5.6 and I'm still getting tons of errors like the following:
Apply Filter: Only show the error messages of this member MEMBERNAME
Apply Filter: Only show the error messages of this IP address 68.97.xx.xx
Reverse chronological order of list Today at 09:40:29 PM
Apply Filter: Only show the error messages of this session 6dbb53c664228140d93026e2ebfa1f6b
Apply Filter: Only show the errors of this type Type of error: Database
Apply Filter: Only show the error messages of this URL
https://www.domain-name/smf/index.php?action=unreadreplies
Apply Filter: Only show the errors with the same message
Database Error: Expression #1 of ORDER BY clause is not in SELECT list, references column 'hobbybcn_capidef3.t.id_last_msg' which is not in SELECT list; this is incompatible with DISTINCT
SELECT DISTINCT t.id_topic
FROM smf_topics AS t
INNER JOIN smf_messages AS m ON (m.id_topic = t.id_topic AND m.id_member = 770)
LEFT JOIN smf_log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = 770)
LEFT JOIN smf_log_mark_read AS lmr ON (lmr.id_board = t.id_board AND lmr.id_member = 770)
WHERE t.id_board IN (41, 4, 40, 5, 9, 38, 6, 10, 24, 31, 15, 19, 36, 13, 12, 18, 16, 17, 23, 22, 21, 20, 32, 42, 25, 39, 50, 54, 55)
AND t.id_last_msg >= 50939
AND (IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0))) < t.id_last_msg
AND t.approved = 1
ORDER BY t.id_last_msg DESC
LIMIT 0, 20
Apply Filter: Only show the errors from this file
File: /home/xxx/public_html/smf/Sources/Recent.php
Line: 1116
Apply Filter: Only show the error messages of this member Guest
Apply Filter: Only show the error messages of this IP address 66.102.6.216
Reverse chronological order of list Today at 07:59:23 PM
Apply Filter: Only show the error messages of this session 6886eba321f32adf893be128153dbce6
Apply Filter: Only show the errors of this type Type of error: User
Apply Filter: Only show the error messages of this member Guest
Apply Filter: Only show the error messages of this IP address
Reverse chronological order of list Today at 07:17:09 PM
Apply Filter: Only show the errors of this type Type of error: Template
Apply Filter: Only show the error messages of this URL
https://www.domain-name/smf/index.php?scheduled=task;ts=1561677420
Apply Filter: Only show the errors with the same message
Unable to load the 'WIRELESS_PROTOCOL_above' template.
Apply Filter: Only show the error messages of this member
Apply Filter: Only show the error messages of this member MEMBERNAME
Apply Filter: Only show the error messages of this IP address 72.24.xx.xxx
Reverse chronological order of list Today at 06:21:31 PM
Apply Filter: Only show the error messages of this session 3c1574b484de17a0b84dd95beb40a92d
Apply Filter: Only show the errors of this type Type of error: Database
Apply Filter: Only show the error messages of this URL
https://www.domain-name/smf/index.php?action=unreadreplies
Apply Filter: Only show the errors with the same message
Database Error: Expression #1 of ORDER BY clause is not in SELECT list, references column 'hobbybcn_capidef3.t.id_last_msg' which is not in SELECT list; this is incompatible with DISTINCT
SELECT DISTINCT t.id_topic
FROM smf_topics AS t
INNER JOIN smf_messages AS m ON (m.id_topic = t.id_topic AND m.id_member = 90)
LEFT JOIN smf_log_topics AS lt ON (lt.id_topic = t.id_topic AND lt.id_member = 90)
LEFT JOIN smf_log_mark_read AS lmr ON (lmr.id_board = t.id_board AND lmr.id_member = 90)
WHERE t.id_board IN (41, 4, 40, 5, 9, 38, 6, 10, 24, 31, 15, 19, 36, 13, 12, 18, 16, 17, 23, 22, 21, 20, 32, 42, 25, 39, 50, 54, 55)
AND t.id_last_msg >= 8455
AND (IFNULL(lt.id_msg, IFNULL(lmr.id_msg, 0))) < t.id_last_msg
AND t.approved = 1
ORDER BY t.id_last_msg DESC
LIMIT 0, 20
Apply Filter: Only show the errors from this file
File: /home/xxx/public_html/smf/Sources/Recent.php
Line: 1116
I wish I knew more about what's going on cause I'm sure it has to do with whatever was upgraded, as other programs such as my XML sitemap generator program no longer works as well. I'm hoping someone with a bit more server / hosting knowledge than I might be able to spot what my host screwed up on me so I can get it fixed.
Anyone care to take a stab on what got mucked up?
Have you checked php version with phpinfo? Worked on couple of forums where host insisted one version was running, but actually was another.
SQL strict mode is enabled,
2.0 can't handle this.
Thank you very much. This seems to have solved this. It would have been nice if the web host would have told me they altered the default configuration.
BTW: Is 2.1 more tolerate of SQL strict mode or should it be disabled for that as well?
2.1 supports strict mode.
2.1 enforce sql strict mode.