I just updated OJS to 2.4.7-1 with success! Since we currently migrating from PHP 5.2 / Apache 2.2 to PHP 5.5 / Apache 2.4, I copied that installations and moved it to the new server.
links to stylesheets, etc are: http://my.ojs/index.php/lib/pkp/styles/pkp.css and so on.
If I hover now a new link on that page it gives me: http://my.ojs/index.php/index/index.php/index/login
You see, ojs adds index.php on links. That is correct in the first way, but why are they in stylesheet refs? And why does ojs adds it several times? Configs are updates, files_dir path adapted. There is no RESTful links-option enabled or any .htaccess (neither on old nor on the new server).
base_url is the same since I use local DNS redirect.
Only difference: php files are sent to PHP-FPM backend.
Another update: OJS ignores the whole base_url setting. It is now set to something senseless - but the site still works and adds the base_url with index.php by itself ?!
If I change something else in the config (database as example) the changes gets reflected - so the config is read by ojs.
Who generates the base_url then and decide to ignore the one in the config?
Another thing to check would be whether you have any mod_rewrite rules in effect.
Also, just because I’m not familiar with PHP-FPM, I would suggest checking to see if disabling that module changes the situation. It can’t hurt to check.
PHP-FPM can’t be just “disabled” as the whole server is configured to use it as separate process.
Would be nice to know, how the baseUrl gets defined on Smarty’s side.
Is this baseUrl anyhow detected via $_SERVER? SCRIPT_NAME maybe? Thats the Only difference. the old PHP 5.2/Apa 2.2 server has SCRIPT_NAME always set to script.php (regardless if there are PATHINFO’s). the new server includes these PATHINFO to SCRIPT_NAME.
I dont know if this matters - just noticed that while side-by-side comparison.
EDIT: base_url does not take any effect. currently it has the value of “bla” which does not change anything. baseUrl in Smarty gets not the value of base_url in the config!
This is not fixable by package update or anything else - Ubuntu won’t fix this in trusty.
They suggest a workaroung if PHP is < 5.5.18/5.6.3. If this matches, the script have to truncate PATH_INFO from the end of SCRIPT_NAME.
I change my local code, to reflect that change. Maybe you are interested in applying this in master as well? This affects all php-fpm users below 5.5.18/5.6.3 as I can see.