
John Heenan
Members-
Posts
79 -
Joined
-
Last visited
-
Days Won
2
Everything posted by John Heenan
-
This is a script, named grep_logs, I have prepared for updated reports for this thread. #!/bin/bash cd logs_blesta || exit 1 echo echo "**ERROR message, not E_DEPRECATED message**" cat general-error-2024-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home\S*\/blesta\///g' echo echo echo "**E_DEPRECATED general notice, not including 'loses precison' message**" cat general-notice-2024-*.log | grep -v 'loses precision' | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' echo echo echo "**A typical 'loses precision' E_DEPRECATION message**" cat general-notice-2024-*.log | grep 'loses precision' | cut -d ' ' -f 1 --complement | head -1 | sed 's/\home.*\/blesta\///' echo echo echo "This is from the fresh install version, not the copy of production version, as I have turned off cron for the production copy for developer" echo "cat general-notice-cron-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///'" echo 'general.NOTICE: E_DEPRECATED: Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated {"code":8192,"message":"Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256}' This is the current result of executing the script, with same results as above: ./grep_logs **ERROR message, not E_DEPRECATED message** general.ERROR: PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'package_pricing.default' in 'where clause' in /vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute() #1 /vendors/minphp/record/src/Record.php(793): Minphp\Db\PdoConnection->query() #2 /app/models/packages.php(1518): Minphp\Record\Record->fetch() #3 /app/models/packages.php(650): Packages->getPackagePricing() #4 /app/models/packages.php(577): Packages->appendPackageContent() #5 /app/models/services.php(831): Packages->get() #6 /app/models/services.php(191): Services->appendServiceInfo() #7 /plugins/domains/models/domains_domains.php(94): Services->getList() #8 /plugins/domains/controllers/admin_main.php(881): DomainsDomains->getList() #9 /vendors/minphp/bridge/src/Lib/Dispatcher.php(142): AdminMain->domains() #10 /index.php(21): Dispatcher::dispatch() #11 {main} **E_DEPRECATED general notice, not including 'loses precison' message** general.NOTICE: E_DEPRECATED: Creation of dynamic property NetGeoIp::$SettingsCollection is deprecated {"code":8192,"message":"Creation of dynamic property NetGeoIp::$SettingsCollection is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256} general.NOTICE: E_DEPRECATED: Creation of dynamic property SimplePie_Autoloader::$path is deprecated {"code":8192,"message":"Creation of dynamic property SimplePie_Autoloader::$path is deprecated","file":"/plugins/feed_reader/vendors/simplepie/autoloader.php","line":67} general.NOTICE: E_DEPRECATED: strpos(): Passing null to parameter #2 ($needle) of type string is deprecated {"code":8192,"message":"strpos(): Passing null to parameter #2 ($needle) of type string is deprecated","file":"/components/upload/upload.php","line":398} general.NOTICE: E_DEPRECATED: Creation of dynamic property NamesiloApi::$logger is deprecated {"code":8192,"message":"Creation of dynamic property NamesiloApi::$logger is deprecated","file":"/components/modules/namesilo/apis/namesilo_api.php","line":93} **A typical 'loses precision' E_DEPRECATION message** general.NOTICE: E_DEPRECATED: Implicit conversion from float 127.34694444444445 to int loses precision {"code":8192,"message":"Implicit conversion from float 127.34694444444445 to int loses precision","file":"/plugins/support_manager/support_manager_controller.php","line":64} This is from the fresh install version, not the copy of production version, as I have turned off cron for the production copy for developer cat general-notice-cron-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated {"code":8192,"message":"Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256}
-
Here are some initial log messages after snapshoting directory and database from production to developer and then upgrading Blesta 5.9.3 to Blesta 5.10.0 beta 1, using PHP 8.2.7. I cannot be expected to allow cron to run under this condition. However there is plenty to go on without cron running. The conditions are just browsing. No new actions, creations or deletions at the moment. I expect more will be added as I try this. This is an ERROR message, not a E_DEPRECATED message cat general-error-2024-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home\S*\/blesta\///g' general.ERROR: PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'package_pricing.default' in 'where clause' in /vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute() #1 /vendors/minphp/record/src/Record.php(793): Minphp\Db\PdoConnection->query() #2 /app/models/packages.php(1518): Minphp\Record\Record->fetch() #3 /app/models/packages.php(650): Packages->getPackagePricing() #4 /app/models/packages.php(577): Packages->appendPackageContent() #5 /app/models/services.php(831): Packages->get() #6 /app/models/services.php(191): Services->appendServiceInfo() #7 /plugins/domains/models/domains_domains.php(94): Services->getList() #8 /plugins/domains/controllers/admin_main.php(881): DomainsDomains->getList() #9 /vendors/minphp/bridge/src/Lib/Dispatcher.php(142): AdminMain->domains() #10 /index.php(21): Dispatcher::dispatch() #11 {main} E_DEPRECATED general notice, not including 'loses precison' message cat general-notice-2024-*.log | grep -v 'loses precision' | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property NetGeoIp::$SettingsCollection is deprecated {"code":8192,"message":"Creation of dynamic property NetGeoIp::$SettingsCollection is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256} general.NOTICE: E_DEPRECATED: Creation of dynamic property SimplePie_Autoloader::$path is deprecated {"code":8192,"message":"Creation of dynamic property SimplePie_Autoloader::$path is deprecated","file":"/plugins/feed_reader/vendors/simplepie/autoloader.php","line":67} general.NOTICE: E_DEPRECATED: strpos(): Passing null to parameter #2 ($needle) of type string is deprecated {"code":8192,"message":"strpos(): Passing null to parameter #2 ($needle) of type string is deprecated","file":"/components/upload/upload.php","line":398} general.NOTICE: E_DEPRECATED: Creation of dynamic property NamesiloApi::$logger is deprecated {"code":8192,"message":"Creation of dynamic property NamesiloApi::$logger is deprecated","file":"/components/modules/namesilo/apis/namesilo_api.php","line":93} A typical 'loses precision' E_DEPRECATION message cat general-notice-2024-*.log | grep 'loses precision' | cut -d ' ' -f 1 --complement | head -1 | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Implicit conversion from float 127.34694444444445 to int loses precision {"code":8192,"message":"Implicit conversion from float 127.34694444444445 to int loses precision","file":"/plugins/support_manager/support_manager_controller.php","line":64} This is from the fresh install version, not the copy of production version, as I have turned off cron for the production copy for developer. cat general-notice-cron-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated {"code":8192,"message":"Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256}
-
Blesta: 5.10.0 beta 1 PHP: 8.2.7 OS: Debian 12.5 (stable, bookworm) In forum topic linked below I requested support on how to stop daily file logs filling up with E_DEPRECATED messages, despite error reporting and degug off. For example, the daily general-notice-XXXX-XX-XX.log file with Blesta 5.9.3 is typically over 1 MB. Paul instead requested I let Blesta know about E_DEPRECATED messages with the new upcoming beta and how encountered. The two log messages below are fresh install messages by overwrite of a restored fresh install directory with 5.10.0 beta 1 and with restoration of backed up fresh install database. I think it is worthwhile showing fresh install E_DEPRECATED messages as a base line. I will add in more E_DEPRECATED messages to this thread as as I encounter them, such as after snapshotting a backup of Blesta production directory and database into developer licence directory and database and then upgrading to beta. cat general-notice-2024-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property SimplePie_Autoloader::$path is deprecated {"code":8192,"message":"Creation of dynamic property SimplePie_Autoloader::$path is deprecated","file":"/plugins/feed_reader/vendors/simplepie/autoloader.php","line":67} cat general-notice-cron-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated {"code":8192,"message":"Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256} Link to previous post:
-
Now with Blesta 5.10.1 beta 1 with php 8.2.7 Here is a start after just installing a fresh overwrite of Blesta 5.9.1 with 5.10.0 beta 1, unpoulated database swapped back in, php 8.2.7 cat general-notice-2024-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property SimplePie_Autoloader::$path is deprecated {"code":8192,"message":"Creation of dynamic property SimplePie_Autoloader::$path is deprecated","file":"/plugins/feed_reader/vendors/simplepie/autoloader.php","line":67} cat general-notice-cron-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///' general.NOTICE: E_DEPRECATED: Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated {"code":8192,"message":"Creation of dynamic property TicketManager::$SupportManagerDepartments is deprecated","file":"/vendors/minphp/bridge/src/Lib/Loader.php","line":256}
-
QR code image not visible when enabling 2fa on a customer account
John Heenan replied to John Heenan's topic in Bugs
I got the QR code image to diplay for admin for Blesta developer version by logging out and loggin in again. -
QR code image not visible when enabling 2fa on a customer account
John Heenan posted a topic in Bugs
Below is image for a logged in customer with Manage Account, Authentication, Enable Two-Factor Authentication, There is no QR code image visible, despite statement in section 2. No error message found in logs. Blesta version is 5.9.3 and php version is 8.2.7. Both on regular version and developer version. On the developer version the QR image is also absent from staff account setup of 2fa (My Info, Time-based HMAC One Time Password). QR image shows in staff account setup of 2fa for regular version. -
This bug applies to current version of Blesta, version 5.9.3. When using the Upgrade/Downgrade feature for service management that uses the Virtualmin module, a change of Package/Term corresponds to a plan change in Virtualmin, as well as other changes. With this feature, although a plan is changed, limits of the changed plan are not applied, such as a change of allocated disk space or a change in allowed number of servers. The name of the parameter that is passed to virtualmin is --plan. It should instead be --apply-plan to also include changed plan limits. From https://www.virtualmin.com/documentation/developer/cli/modify_domain/ "To change a virtual server's plan and apply quota and other limits from the new plan, use the --apply-plan parameter followed by the plan name or ID. Alternately, you can switch the plan without applying any of it's limits with the --plan flag." To make this fix, edit line 1108 in file blesta/components/modules/virtualmin/virtualmin.php from: 'plan' => $package_to->meta->plan, to: 'apply-plan' => $package_to->meta->plan, In addition, if using php8 with Blesta 5.9.3, it is necessary to also make the following change to fix a TypeError bug Edit line 867 in file blesta/components/modules/virtualmin/virtualmin.php from: if (!array_key_exists($key, $service_fields) || $vars[$key] != $service_fields->$key) { to: if (!array_key_exists($key, (array)$service_fields) || $vars[$key] != $service_fields->$key) {
-
Error upgrading/downgrading plan with Virtualmin module of Blesta
John Heenan replied to John Heenan's topic in Bugs
Posted in wrong bug section. Have reposted in proper section and included a fix at -
Error upgrading/downgrading plan with Virtualmin module of Blesta
John Heenan replied to John Heenan's topic in Bugs
I fixed the bug reported above myself by editing line 867 in file blesta/components/modules/virtualmin/virtualmin.php from: if (!array_key_exists($key, $service_fields) || $vars[$key] != $service_fields->$key) { to: if (!array_key_exists($key, (array)$service_fields) || $vars[$key] != $service_fields->$key) { However, although this restores behaviour to same as with php7, a detailed look at the effects showed only the plan name was changed in Virtualmin. This is another bug. I will post details of this additionally discovered bug after I have tested what may be a fix for it. -
Error upgrading/downgrading plan with Virtualmin module of Blesta
John Heenan posted a topic in Bugs
Issue is unable to change plan used on Virtualmin, with Virtualmin module through Blesta, with upgrade/downgrade. Two stage manual change is a workaround (change without module on Blesta and then change directly on Virtualmin) Steps to reproduce are: Client, Service, Manage, Upgrade/Downgrade, change package/term (with Use module ticked -module is Virtualmin), Save URL page before error is .../admin/clients/editservice/...... Result is HTTP 500 error Blesta general error in logs: general.ERROR: Uncaught Exception TypeError: "array_key_exists(): Argument #2 ($array) must be of type array, stdClass given" at .../blesta/components/modules/virtualmin/virtualmin.php line 867 {"exception":"[object] (TypeError(code: 0): array_key_exists(): Argument #2 ($array) must be of type array, stdClass given at .../blesta/components/modules/virtualmin/virtualmin.php:867)"} OS is Debian 12, Blesta version is 5.9.3, PHP version is 8.2.7, Blesta Virtualmin module version is 1.8.0 This bug was originally reported in error to the 5.9 beta bugs section. -
Short answer: following on from Paul's answer, use an order form of type 'Domain and other'. Longer less specific answer: Selling hosting and selling DNS is selling two separate services that are linked by passing on a name. The services can be included in the same order. What links the services is the domain name (specified by the customer OR passed through automatically when using order type 'Domain and other') and the custom name servers (pre specified). It is not a simple process to set up but it does work. I would not consider it straightforward. But I would consider it appropriate given the complexities of what is involved.
-
OK thanks, I will wait until version 5.10 beta 1 to report back For anyone else interested, following is a useful command to extract unique log messages, independent of date and with home directory removed. cat general-notice-2024-03-*.log | cut -d ' ' -f 1 --complement | awk -F, '!seen[$1]++' | sed 's/\home.*\/blesta\///'> uniquelineslogs.txt
-
Although I have line 'Configure::errorReporting(0);' in config/blasta.php, this has no effect on reporting in daily logs in logs_blesta directory. With Blesta 5.9.3, there are still numerous E_DEPRECATED messages using php 8.2, for example megabytes worth in general-notice-XXXX-XX-XX.log. How can I stop this? John
-
Error upgrading/downgrading plan with Virtualmin module of Blesta
John Heenan posted a topic in Bugs
Issue is unable to change plan used on Virtualmin, with Virtualmin module through Blesta, with upgrade/downgrade. Two stage manual change is a workaround (change without module on Blesta and then change directly on Virtualmin) Steps to reproduce are: Client, Service, Manage, Upgrade/Downgrade, change package/term (with Use module ticked -module is Virtualmin), Save URL page before error is .../admin/clients/editservice/...... Result is HTTP 500 error Blesta general error in logs: general.ERROR: Uncaught Exception TypeError: "array_key_exists(): Argument #2 ($array) must be of type array, stdClass given" at .../blesta/components/modules/virtualmin/virtualmin.php line 867 {"exception":"[object] (TypeError(code: 0): array_key_exists(): Argument #2 ($array) must be of type array, stdClass given at .../blesta/components/modules/virtualmin/virtualmin.php:867)"} OS is Debian 12, Blesta version is 5.9.3, PHP version is 8.2.7, Blesta Virtualmin module version is 1.8.0 Other than this Blesta is working well enough with Virtualmin. If an operation with Virtualmin takes a long time then the web request times out with the log entry in Blesta showing the truncated response, even if the request to Virtualmin succeeds in full. This is NOT the issue here. With this issue Blesta does not even get as far as launching a request to Virtualmin John -
Sorry, just seen the previous topic. Please ignore.
-
Can no longer pipe emails to Blesta. Worked with PHP 7 cat ~/sample_email | /usr/bin/php ./blesta/plugins/support_manager/pipe.php Uncaught TypeError, code 0 in .../blesta/app/models/blacklist.php on line 255 Message: Blacklist::verify(): Argument #1 ($input) must be of type string, null given, called in .../blesta/app/app_controller.php on line 0 OS: Debian Blesta: 5.9.2 PHP: 8.2
-
.com.au domain registration with Namecheap from Blesta API requires additional information to that submitted from Blesta. Was able to register directly on Namecheap by choosing an addiitonal ID form and number. See images blow. Using Blesta 5.6.1, Rocky 8.7, PHP 7.4 Suggest we can be provided with an option in admin to add in extra arbitrary fields to complete a registration when a customer registration fails and be able to provide a warning to customer that more information may be required if a registration fails Blesta logs when attempting to register .com.au failed Extra information requirment in Namecheap when registering directly John Heenan
-
Clicking on domain settings for a client for a .com with NameSilo results in a failure to confirm verification. From logs, input and output: https://www.namesilo.com/api/emailVerification a:3:{s:5:"email";s:0:"";s:7:"version";i:1;s:4:"type";s:3:"xml";} https://www.namesilo.com/api/emailVerification O:8:"stdClass":2:{s:4:"code";s:3:"108";s:6:"detail";s:46:"Missing parameters for the specified operation";} The result should state true or false. In fact the .com domain is 'contact email verified', according to NameSilo. Assuming this is a public API call, the missing parameter is the domain name. Using Blesta 5.6.1, Rocky 8.7, PHP 7.4 URL path is /client/services/manage/1/tabClientSettings/ See image John Heenan
-
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
Thanks! -
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
Some more information about error reporting with Blesta. This clears up confusion for me. Errors are reported to screen, even with display_errors set to off, as errors are trapped by file app/views/errors/error.pdt The boolean internal variable System.Debug decides whether error.pdt includes a stack trace or not To make sure no errors are visible error_reporting must be set to 0, such as by using Configure::errorReporting(0); Errrors are also logged to various files in logs_blesta directory -
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
Below is in a php.ini file for my server that I dd not alter. ; Default Value: E_ALL │ ; Development Value: E_ALL │ ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT │ ; https://php.net/error-reporting │ error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT What it means is that if you want to use the last configured error_reporting php.ini value then you need to comment out the following lines in conf/blesta.php Configure::errorReporting(0); E_ALL is equivalent to -1 -
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
I have found a global fix for this bug. The fix implies Blesta 5.6.0, when used with PHP 8.1, is using deprecated code. This is not surprising and is considered normal for large projects. There is no urgency about fixing this. Here is the fix that enables PHP debug to be used with Blesta 5.6.0 and PHP 8.1 edit config/blesta.php and use Configure::errorReporting(E_ALL & ~E_DEPRECATED); instead of the current recomendation of Configure::errorReporting(-1); Note the spelling of E_DEPRECATED is correct -
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
If this bug is due to some additional type checking in PHP 8.1, maybe we can be told of some global setting to turn this off so we can get past this unhelpful message that obstructs debugging I don't know where the instruction #[\ReturnTypeWillChange] is supposed to go and if this is a global setting or not. -
Fix for unusable PHP debug in Blesta 5.6.0 with PHP 8.1
John Heenan replied to John Heenan's topic in Bugs
This problem was originally reported for Blesta beta version 5.6.0-b2. Blesta 5.6.0 has now been released. I upgraded to 5.6.0 as per recommended for a new release (overwrite all files). The problem and reporting remain the same. PHP debug is unusable because Minphp reports a type error. I assume this is due to tightening up with PHP 8. Hence I have edited the topic and contents to remove the '-b2' beta suffix.