Dani
September 29, 2015, 1:48pm
1
I noticed that the following error is flooding the server log:
[04-Sep-2015 10:22:53 America/New_York] ojs2 has produced an error
Message: WARNING: Cannot use a scalar value as an array
In file: /home/user/public_html/ojs/classes/journal/JournalSettingsDAO.inc.php
At line: 83
Stacktrace:
Server info:
OS: Linux
PHP Version: 5.6.12
Apache Version: N/A
DB Driver: mysql
DB server version: 5.5.32-cll-lve
the part of code for the error line is as follows:
function &getJournalSettings($journalId) {
$journalSettings = array();
$result =& $this->retrieve(
'SELECT setting_name, setting_value, setting_type, locale FROM journal_settings WHERE journal_id = ?', $journalId
);
while (!$result->EOF) {
$row =& $result->getRowAssoc(false);
$value = $this->convertFromDB($row['setting_value'], $row['setting_type']);
if ($row['locale'] == '') {
$journalSettings[$row['setting_name']] = $value;
} else {
if (!isset($journalSettings[$row['setting_name']])) {
$journalSettings[$row['setting_name']] = array();
}
[line 83 --->] $journalSettings[$row['setting_name']][$row['locale']] = $value;
}
$result->MoveNext();
}
$result->Close();
unset($result);
$cache =& $this->_getCache($journalId);
$cache->setEntireCache($journalSettings);
return $journalSettings;
}
I am using ojs 2.4.5. and the only language (locale) for the journal is English.
Does upgrading to 2.4.6 resolves with issue?
Is there any patch for this bug?
thanks
Hi @Dani ,
Have you reviewed other threads about this issue? See e.g. in the old forum:
http://pkp.sfu.ca/support/forum/viewtopic.php?f=8&t=9523
Regards,
Alec Smecher
Public Knowledge Project Team
1 Like
cflores
September 29, 2015, 7:08pm
3
Excelent!!!
I had the same problem, and i reviewed the old forum and i did this:
select * from journal_settings where setting_name like ‘metaCitations’
Delete both metaCitations entries from your DB
Flush the OJS data cache
Go to Journal Setup step 3 and enable or disable the Citation Assistant as per your needs
Save the form
this solve the problem.
So thanks!
2 Likes
Hi @cflores ,
Great, glad to hear it’s working!
Regards,
Alec Smecher
Public Knowledge Project Team
1 Like
JCar
September 20, 2017, 3:24pm
5
Hi @asmecher ,
I checked the first step and the mysql result is
but really I don´t know what rows I need to have in the database of OJS. I’m user new in OJS. Can you help me ? thanks in advanced.
freddy
April 10, 2018, 6:05am
6
Warning: Cannot use a scalar value as an array in /var/www/html/lib/pkp/classes/core/DataObject.inc.php on line 133
Which lines should I delete?
Hi @freddy ,
In OJS 2.x, delete all rows with a value in the locale
column. In OJS 3.x, it’s safe to delete them all – they’re not used any more.
Regards,
Alec Smecher
Public Knowledge Project Team
1 Like
freddy
April 10, 2018, 10:41pm
8
I appreciate your help, the error was corrected, I am sorry for the duplicate.
cflores:
‘metaCitations
Please help in sorting out this error in my OJS 2.4.8
[28-Apr-2019 17:23:48 UTC] ojs2 has produced an error
Message: WARNING: Cannot use a scalar value as an array
In file: /home/kdlohtax/journals.eduindex.org/classes/journal/JournalSettingsDAO.inc.php
At line: 83
Stacktrace:
Server info:
OS: Linux
PHP Version: 5.6.40
Apache Version: N/A
DB Driver: mysql
DB server version: 10.2.23-MariaDB
dung
May 31, 2019, 8:01pm
10
You can safely delete all metaCitations
rows from OJS 3.x – they’re a hold-over from OJS 2.x that is no longer useful. Execute:
DELETE FROM journal_settings WHERE setting_name='metaCitations`;
Then remove all .php
files from your cache/
subdirectory.
root@ojs-upgrade-2:/var/www/html/ojs-3.1.1-4/cache# rm *.php
Best regards,
Dung.
Hi @asmecher ,
My problem is a little different.
SELECT DISTINCT s1.setting_name FROM journal_settings s1, journal_settings s2 WHERE s1.setting_name = s2.setting_name AND s1.locale = ‘’ AND s2.locale <> ‘’;
Return another setting_name besides metaCitations:
±--------------------+
| setting_name |
±--------------------+
| metaCitations |
| pageHeaderLogoImage |
±--------------------+
Aboute metaCitations,
select setting_name, setting_type, locale from journal_settings where setting_name like ‘metaCitations’;
shows me that…
±--------------±-------------±-------+
| setting_name | setting_type | locale |
±--------------±-------------±-------+
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | es_ES |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | en_US |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | es_ES |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | en_US |
| metaCitations | string | es_ES |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | es_ES |
| metaCitations | string | en_US |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | string | pt_BR |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
| metaCitations | bool | |
±--------------±-------------±-------+
I have to delete every column where setting_name like ‘metaCitations’ and setting_type = ‘string’.
But what about pageHeaderLogoImage?
select setting_name, setting_type, locale from journal_settings where setting_name like ‘pageHeaderLogoImage’;
which setting_type I have to delete?
±--------------------±-------------±-------+
| setting_name | setting_type | locale |
±--------------------±-------------±-------+
| pageHeaderLogoImage | object | |
| pageHeaderLogoImage | int | heigh |
| pageHeaderLogoImage | string | dateU |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | |
| pageHeaderLogoImage | string | name |
| pageHeaderLogoImage | string | uploa |
| pageHeaderLogoImage | object | |
| pageHeaderLogoImage | int | width |
| pageHeaderLogoImage | string | name |
| pageHeaderLogoImage | string | uploa |
| pageHeaderLogoImage | int | width |
| pageHeaderLogoImage | object | |
| pageHeaderLogoImage | object | |
| pageHeaderLogoImage | int | heigh |
| pageHeaderLogoImage | string | dateU |
| pageHeaderLogoImage | string | name |
| pageHeaderLogoImage | string | uploa |
| pageHeaderLogoImage | int | width |
| pageHeaderLogoImage | int | heigh |
| pageHeaderLogoImage | string | dateU |
| pageHeaderLogoImage | string | name |
| pageHeaderLogoImage | string | uploa |
| pageHeaderLogoImage | int | width |
| pageHeaderLogoImage | int | heigh |
| pageHeaderLogoImage | string | dateU |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | pt_BR |
| pageHeaderLogoImage | object | pt_BR |
±--------------------±-------------±-------+
Hi @tessiof ,
For metaCitations
:
I have to delete every column where setting_type = ‘string’.
No, don’t do that! Delete all rows where setting_name='metaCitations'
.
But what about pageHeaderLogoImage?
What version of OJS are you using? Did you recently upgrade from another version?
Regards,
Alec Smecher
Public Knowledge Project Team
@asmecher
No, don’t do that! Delete all rows where setting_name='metaCitations'
.
But I’m not supposed to delete from journal_settings where setting_name is ‘metaCitations’ and locale has a value? Locale has a value where setting_type is a string in this case, apparently. Sorry for not being very clear.
I’m using 2.4.8-5, updated from 2.4.8-2 one week ago. But this problem is older than that.
Hi @tessiof ,
Ah, you’re using OJS 2.x still – I had assumed 3.x. Yes, DELETE FROM journal_settings WHERE setting_name = 'metaCitations' AND locale IS NOT NULL AND locale <> '';
and then flush your data cache (e.g. rm cache/*.php
); that should do it.
For pageHeaderLogoImage
, your data has somehow gotten corrupted – setting_type
should be object
, and locale
should be e.g. xx_YY
. If you don’t have too many journals you could simply delete that setting entirely (and flush the data cache), and then re-build it through the UI. (Make a backup before you work with the database directly, just in case.)
Regards,
Alec Smecher
Public Knowledge Project Team
1 Like
I managed to create a test site with those corrections, and the error messages vanished.
I’ll apply then in production next week.
Thanks!