Luuuk Posted May 12, 2022 Posted May 12, 2022 (edited) Hi, Since upgrading to 4.6.8 I have two massively repeating errors. I upgraded to the latest 4.6.12.1 and reloaded all themes from scratch + cleared system caches but no change. 1. uncaught_exception Error: Failed opening required 'C:\inetpub\wwwroot\datastore/widget_activeUsers_dcw20pzk3_f70069932d19c0300a819836812806bf.558dfe9cbd.php' (include_path='.;C:\php\pear') (0) Reported here: 2. template_error TypeError: get_class(): Argument #1 ($object) must be of type object, null given in C:\inetpub\wwwroot\applications\core\sources\Announcements\Announcement.php:198 Reported here: [I do not use Redis] BTW. Do not pay attention to "Non-InnoDB tables". All tables used by your software are InnoDB. I just kept an inactive renamed copy of the MyISAM post table as a backup for a couple of days. Edited May 12, 2022 by Luuuk
Marc Posted May 12, 2022 Posted May 12, 2022 Its very likely an issue with permissions on that file. Please delete all files from your datastore folder, other than the index.php file, and see if that makes any difference. However it does need to be noted, we do not provide support for sites hosted on IIS unfortunately.
Luuuk Posted May 12, 2022 Author Posted May 12, 2022 Thanks for the answer. 1. Datastore is writeable. The folder and all its objects have the same permissions: IUSR (Modify) + IIS_IUSRS (Read & execute). The tool in ACP does remove the content and new items are generated. Caches were cleared many times, both via the tool in ACP and manually... Also, I have no idea what the error actually does. The browsing widget seems to work / update fine and I do not see any odd things. 2. And how about the second error? As I said in other topic: On 12/14/2021 at 11:35 PM, Luuuk said: I also get the same template error since upgrading to 4.6.8. The error is fired by Guests (I guess some bots) on non-existent attachments urls (eg. already deleted from a database). No error if urls point to existing attachments. The same error occurs on the default and custom theme. Recreating the default theme from scratch does not help. Of course, caches were cleared many times. You can trigger the error manually by pasting a URL pointing to a non-existing attachment (or existing attachment coming from a hidden section accessible only by Administrators/Moderators). For example: https://MySite/applications/core/interface/file/attachment.php?id=0 [For the default theme one Announcement template is shown. For custom theme made by Ehren the error shows two Announcements templates.] Constants.php: <?php \define( 'TEMP_DIRECTORY', 'C:\\inetpub\\wwwroot\\uploads' ); \define( 'REDIS_ENABLED', false ); \define( 'STORE_METHOD', 'FileSystem' ); \define( 'STORE_CONFIG', '{"path":"C:\\\\inetpub\\\\wwwroot\\\\datastore"}' ); \define( 'CACHE_METHOD', 'None' ); \define( 'CACHE_CONFIG', '[]' ); \define( 'CACHE_PAGE_TIMEOUT', 0 ); \define( 'SUITE_UNIQUE_KEY', '558dfe9cbd' );
Jim M Posted May 12, 2022 Posted May 12, 2022 Please disable all third party applications/plugins then test #2 again. For #1, as this is a server access issue, you will need to work with your server administrator to resolve. I'm afraid, IIS is outside our scope of support and not recommended.
Luuuk Posted May 12, 2022 Author Posted May 12, 2022 4 minutes ago, Jim M said: Please disable all third party applications/plugins then test #2 again. I have 2 plugins (Change Post Date, PHP & TXT Widget) and no custom applications. It makes no difference after disabling them. I left them disabled for now. 7 minutes ago, Jim M said: For #1, as this is a server access issue, you will need to work with your server administrator to resolve. I'm afraid, IIS is outside our scope of support and not recommended. I am the server administrator. Since the datastore folder is writeable (and the widget does work) I have no idea where to look for...
Mark H Posted May 12, 2022 Posted May 12, 2022 As my colleague initially noted, we unfortunately do not provide support for sites hosted on IIS. While some people have made it work successfully, it is not a drop-in replacement for a LAMP stack. And going back to your second post, you mentioned the permissions were: "IUSR (Modify) + IIS_IUSRS (Read & execute)." This may be dated information now, but in some notes I found from long ago, the permissions should be set as follows: The folder in which the software is installed must itself be set with full read/write permissions. The IUSR_machinename** account itself must be granted all permissions to the folder, not partial. (** where 'machinename' is the actual server name, so if your server is named "test" it would be the IUSR_test account. This is, or at least was, the account used by default on IIIS). Is that relevant to your server and the version of IIS on it?
Luuuk Posted May 12, 2022 Author Posted May 12, 2022 5 minutes ago, Mark H said: The folder in which the software is installed must itself be set with full read/write permissions. The IUSR_machinename** account itself must be granted all permissions to the folder, not partial. (** where 'machinename' is the actual server name, so if your server is named "test" it would be the IUSR_test account. This is, or at least was, the account used by default on IIIS). Is that relevant to your server and the version of IIS on it? That is indeed a dated information predating IIS 7. IUSR_machinename** = IUSR on IIS 7+. I am on IIS 10 (coming with Windows Server 2019). IUSR has a full permission: Also, if the permissions would be the issue wouldn't the tool in ACP refuse to clear the folder + more errors with different objects? All other widgets work fine and do not return errors with the exception of the browsing widget.
Mark H Posted May 12, 2022 Posted May 12, 2022 In that screenshot, lower section, top entry, I believe: "Allow - IUSR - Modify".... should be: "Allow - IUSR - Full control" which does correspond to my notes, allowing for naming convention changes. (and "Modify", if I recall correctly, does not allow new file creation?) If that does not work, then I'm out of ideas at least. We can move this topic to the Community Support section, if you wish.
Luuuk Posted May 12, 2022 Author Posted May 12, 2022 (edited) 8 minutes ago, Mark H said: In that screenshot, lower section, top entry, I believe: "Allow - IUSR - Modify".... should be: "Allow - IUSR - Full control" At the bottom there is the second entry... I can temporarily unify the entries but I seriously doubt that is the culprit (no other objects from the datastore complain having the same permissions). Also, all other folders coming from IPS are set with IUSR - Modify and no issues with writing. 8 minutes ago, Mark H said: We can move this topic to the Community Support section, if you wish. For now could you please leave the topic here? At least please investigate the second issue with template errors... Edited May 12, 2022 by Luuuk
Mark H Posted May 12, 2022 Posted May 12, 2022 As noted, we unfortunately do not provide support for sites on IIS server. And the errors may be related. The top and bottom entries are different, given the "Inherited from" column. Please set that top one to Full control, then test to see if it made any difference. You can set it back after testing if necessary.
Jim M Posted May 12, 2022 Posted May 12, 2022 4 minutes ago, Mark H said: And the errors may be related. To just test what is being stated for item #2 here, I did test this on my own installation running in a LAMP environment and this does not happen so there is something specific to your installation going on here.
Luuuk Posted May 12, 2022 Author Posted May 12, 2022 (edited) 20 minutes ago, Mark H said: The top and bottom entries are different, given the "Inherited from" column. Yes, I know. But anyway I set on the "datastore" Full control for the entry, so the items inside have now automatically a single entry: For the widget error I need to wait because the thing is that your software constantly writes new widget instances inside "datastore" but the error is recorded only in some time intervals. Sometimes it takes even the whole day to see the error... As for template errors, no change... Edited May 12, 2022 by Luuuk
Luuuk Posted May 13, 2022 Author Posted May 13, 2022 14 hours ago, Luuuk said: For the widget error I need to wait because the thing is that your software constantly writes new widget instances inside "datastore" but the error is recorded only in some time intervals. Sometimes it takes even the whole day to see the error... The widget error appeared two hours after the change...
Mark H Posted May 13, 2022 Posted May 13, 2022 At this point I'm afraid we're out of suggestions. As has been stated, we unfortunately cannot provide support for sites using IIS servers. However, I will move this topic to the Community Support section, where someone who also uses IIS may be able to assist you.
Luuuk Posted May 16, 2022 Author Posted May 16, 2022 Hi, Well, while I understand that the support for IIS is almost "non-existent" I still believe those are bugs... Both errors were reported earlier by the "LAMP" customers, just that there could be different reasons in my case... BTW. I don't know if it matters but in case of the widget error the odd thing was that when I was still on PHP 7.4 the error was fully hidden from "System Logs" = recorded only in a direct PHP error log like @InvisionHQ reported too. But since I upgraded to PHP 8.0 the error "relocated" and now is only visible in the "System Logs". I do not have any PHP errors related to your software in the PHP log...
Stuart Silvester Posted May 16, 2022 Posted May 16, 2022 If your disk storage is being unreliable for the datastore, you may want to use MySQL or Redis as an alternate. You can do this from AdminCP > System > Settings > Advanced Configuration > Data Storage > Data Storage Method.
Luuuk Posted February 21, 2023 Author Posted February 21, 2023 Another update to my old topic: ---- Template errors are no longer there. As I suspected, that was a bug and luckily other "LAMP" customer came by and the issue was resolved: I guess this is the matching record from 4.7.0 Changelog: Fixed an issue with announcements when loaded outside of the framework. =============================== I still have the widget_activeUsers errors. But I have to live with the error (or disable the widget). I won't swap to the database just for this particular widget while no other widgets / other items in the datastore folder return the error. My only hope is other "LAMP" customer coming by. So far other topics unfortunately ended with the database swap:
Recommended Posts