After unpacking archive to /var/www/html installation process don not want to start.
My system:
Ubuntu 16
php7
latest mysql
latest stable apache release
physical access to server.
Checked config.inc.php and changed mysql to mysqli - nothing have happened.
now I have this line:
driver = mysqli
From apache logs I see this 2 errors:
[Fri Sep 02 23:43:12.557791 2016] [:error] [pid 2769] [client 127.0.0.1:36564] PHP Notice: Only variables should be passed by reference in /var/www/html/lib/pkp/classes/core/PKPApplication.inc.php on line 210
[Fri Sep 02 23:43:12.645519 2016] [:error] [pid 2769] [client 127.0.0.1:36564] PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create() in /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php:271\nStack trace:\n#0 /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php(220): XMLParser->createParser()\n#1 /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php(262): XMLParser->parseTextStruct(‘<?xml version="…’, Array)\n#2 /var/www/html/lib/pkp/classes/db/XMLDAO.inc.php(60): XMLParser->parseStruct(‘lib/pkp/registr…’, Array)\n#3 /var/www/html/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(57): XMLDAO->parseStruct(‘lib/pkp/registr…’, Array)\n#4 /var/www/html/lib/pkp/classes/cache/GenericCache.inc.php(63): TimeZoneDAO->_timeZoneCacheMiss(Object(FileCache), NULL)\n#5 /var/www/html/lib/pkp/classes/cache/FileCache.inc.php(114): GenericCache->get(NULL)\n#6 /var/www/html/lib/pkp/classes/i18n/TimeZoneDAO.inc.php(76): FileCache->getContents()\n#7 /var/www/html/lib/pkp/classes/i18n/PKPLocale.inc.php(691): TimeZoneDAO->getTimeZones()\n#8 /var/www/html/lib/pkp/classes/i18n/PKPLocale.inc.php(143): PKPLocale::getTi in /var/www/html/lib/pkp/classes/xml/XMLParser.inc.php on line 271
Don`t have much experience in running own apache server with php module. Only tried before to run java webapps from tomcat through apache with mod-js connector and all worked fine. Maybe I simply forgot to configure some php-apache-related files?
Also from error log I see problems (inter alia) with some TimeZone variables. I have US locale on my Ubuntu, but all necessary php files I downloaded from ip (and repositories) from other country. We have different time format here…
XML parsing support seems to be missing from your PHP installation. See e.g. https://www.drupal.org/node/66823 for details. You may need to install a PHP XML module, or if you’ve compiled your own PHP, you may need to recompile it with XML support configured.
Regards,
Alec Smecher
Public Knowledge Project Team
Many Thanks!
The problem really was in xml parser.
Now on installation start I have a bunch of PHP warnings. They looking like this:
[Sat Sep 03 09:24:17.056984 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Notice: Only variables should be passed by reference in /var/www/html/lib/pkp/classes/core/PKPApplication.inc.php on line 210, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058428 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of OrcidProfilePlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058495 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of GoogleAnalyticsPlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/googleAnalytics/GoogleAnalyticsPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058645 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of PdfJsViewerPlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/pdfJsViewer/PdfJsViewerPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058677 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of WebFeedPlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/webFeed/WebFeedPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058754 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of BrowsePlugin::manage($verb, $args, &$message, &$messageParams, &$pluginModalContent = NULL) should be compatible with Plugin::manage($args, $request) in /var/www/html/plugins/generic/browse/BrowsePlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058765 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of BrowsePlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/browse/BrowsePlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058791 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of LensGalleyPlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/lensGalley/LensGalleyPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.058818 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of RecommendByAuthorPlugin::getTemplatePath() should be compatible with Plugin::getTemplatePath($inCore = false) in /var/www/html/plugins/generic/recommendByAuthor/RecommendByAuthorPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.059432 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of PageHandler::authorize($request, &$args, $roleAssignments) should be compatible with PKPHandler::authorize($request, &$args, $roleAssignments, $enforceRestrictedSite = true) in /var/www/html/lib/pkp/controllers/page/PageHandler.inc.php on line 19, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.060538 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of LanguageToggleBlockPlugin::getContents(&$templateMgr, $request = NULL) should be compatible with BlockPlugin::getContents($templateMgr, $request = NULL) in /var/www/html/plugins/blocks/languageToggle/LanguageToggleBlockPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.060620 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of RelatedItemsBlockPlugin::getContents(&$templateMgr, $request = NULL) should be compatible with BlockPlugin::getContents($templateMgr, $request = NULL) in /var/www/html/plugins/blocks/relatedItems/RelatedItemsBlockPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
[Sat Sep 03 09:24:17.060670 2016] [:error] [pid 8472] [client 127.0.0.1:46262] PHP Warning: Declaration of InformationBlockPlugin::getContents(&$templateMgr, $request = NULL) should be compatible with BlockPlugin::getContents($templateMgr, $request = NULL) in /var/www/html/plugins/blocks/information/InformationBlockPlugin.inc.php on line 0, referer: http://localhost/index.php/index/install
Should/Could I do something with them before continuing?
Those warnings are harmless; just make sure they’re directed to the log file, rather than the browser. We’ll be working on these over the next few releases but they’re nothing to worry about.
Regards,
Alec Smecher
Public Knowledge Project Team
A database error has occured: An unknown database connection error has occured
Have checked database - all tables seems to be created. Tried manual and automatic database creation without effect (using mysqli).
And there is not any additional information in apache error log.
my php.ini has following lines:
error_reporting = E_ALL
display_errors = On
log_errors = On
extension=mysqli.so (just in case)
This error really confusing be because of normally created mysql tables.
Turned on show_stacktrace, but where I can find the results?
browser window, apache log and php log (which I settled apart from apache log) don`t show any additional information?
As I installed different PHP as separate apache modules I could change between them after installation.
After changing to PHP7 and mysqli site seems to function normally. Why had initial installation aborted each time after creating tables in database is riddle to me. Moreover logs from apache, php and mysql didnt tell anything. So unfortunately I cant help with debuging.
Maybe I am mistaken but on php7 site looks to operate faster.
I just manually update ADOdb to the last version and now there is no so much trash in logs, the problem remains and now I can tell for sure that there is no error in logs, just some
Only variables should be passed by reference
Notices.
Will be good to update the OJS ADOdb version to fix all the trash from logs in php 7.
I don’t know why I was expecting a string (perhaps the few hours of sleep)…
Well the problem was the updateLocaleFields() function causing getInsertId() returns 0, and I see that you already fixed it in the master branch so, many thanks.
Yup – we’re also maintaining an ojs-stable-3_0_0 branch, which will probably be turned into a 3.0.1 release once we’ve accumulated enough fixes like this. You might consider working from that instead of master. Thanks for your help in tracking this down!
Regards,
Alec Smecher
Public Knowledge Project Team