I am working on a fresh install of InvoicePlane on a shared host account.
I was able to install without any issues, but I was stuck on the invoices[.mydomain.]com/index.php/setup/language step.
I found this topic and made the change as directed there to do the following:
Then open application/modules/setup/controllers/Setup.php
and remove this piece:
if ($this->session->userdata('install_step') <> 'prerequisites') {
redirect('setup/language');
}
And was able to then get to the invoices[.mydomain.]com/index.php/setup/prerequisites page, but now I am stuck there.
That other post sort of gets derailed at this juncture so it isn’t of any help to me and I couldn’t find a path forward anywhere else in the forum.
Wondering:
A) Why was I stuck at the language setup to begin with?
B) Was deleting the string from the Setup.php the right move?
C) Now that I am on the Prerequisites page and stuck there, what do I do next?
There are 2 ways to approach your solution, but you’ll have to help me help you (just a tiny bit). That’s why i left room for “summary of solution”
I’ll do the short solution first:
Open application/config/config.php
Find: $config['sess_save_path'] =
If it says: $config['sess_save_path'] = sys_get_temp_dir();, then we’re going to make some changes (preparing for the 1.6.1 release real soon)
If it says: $config['sess_save_path'] = env('SESS_SAVE_PATH', sys_get_temp_dir()); then we’ll make the changes in our ipconfig.php
The short solution is: $config['sess_save_path'] = env('SESS_SAVE_PATH', sys_get_temp_dir()); and then open ipconfig.php to make the change.
Open ipconfig.php
Place SESS_SAVE_PATH= and make sure that the path is writable by you.
In that last topic you mentioned the user made it: /var/users/<username>/storage/**somerandomdirectorynooneknows**/sessions
You can make it whichever you want, just make sure you can write to it. I usually point to the user’s directory where he installed InvoicePlane and then “1 directory higher”, if that makes sense.
Hope it helps, I also have the long explanation if you like, but above is the solution.
A) Good question. sys_get_temp_dir() from /application/config/config.php determines the temporary directory on your server.
It gets cleaned up extremely quickly on your server.
All those install pages store “where they are” in that temp directory.
The page gets stored, the temp directory gets cleaned and you’ve just lost “where you are”
B) Deleting those strings just removes those checks of “where you are” and still lets you go to the correct page.
It’s the temporary right move to quickly move you along.
The reason why it’s the right move is, because the files get overwritten once the new version (1.6.1) gets installed.
C) So let’s try the quick solution first.
It will set the path where your sessions are stored to a location that doesn’t get cleaned up. That way you will not lose your sessions and you can keep going.
Facing the same issue on 1.6.1.
Added SESS_SAVE_PATH variable to ipconfig.php, but that did not fix the issue.
Commenting those lines in the application/modules/setup/controllers/Setup.php
allowed to move to the prerequisites page, but now I am stuck on this page.
Double-checked if session files are put in the custom directory. And they are there.
So went through the rest of the Setup.php file and commented out all the similar redirects:
Lines 84-86, 185-187, 302 - 304, 326 - 328, 382 - 384, 414 - 416
This allowed me to go through the setup process. However now I am stuck at the login page (as soon as I log in to /index.php/dashboard it redirects me back to /index.php/sessions/login)
Edit: setting SESS_MATCH_IP to false fixes the login issues