Armadillo: Slim application error #2 on several of my websites

Hi everybody,
I am confronted with an error message on my websites with Armadillo: The 2 I checked had the same issue, so I am pretty sure the same error message will come up with my remaining websites with Armadillo.
I have no idea what the error message means. Can anybody help?
I have sent a brief note to Jonathan but couldn’t attach the screenshot below.
@nimblehost

I an working with RW 8.9.1, Armadillo 2.9.8, Stacks 4.2.2, Source 1.4.5

Thanks for your help.
Shalom, Franz

tagging @nimblehost

What version of PHP are you using?

You might want to contact vender directly.
https://www.nimblehost.com/contact/

PHP 7.4.22

I am contacting Jonathan through their website. Thanks for the advice.

Based on the error message it looks like there is a PHP configuration setting on the server which needs to be adjusted, more specifically the open_basedir value needs to be adjusted to include the directory where Armadillo’s file are located. That, or the open_basedir setting itself should be removed from the php.ini file.

Hope this helps.

Thanks, Jonathan,
I am glad you got my message and responded.
But I am still in need of further help: In which php file shall I delete the open_basedir setting? I am lost. I am not a software developer so I’d appreciate a step-4-step “for dummies”.
Thanks a lot!
Franz

Jonathan doesn’t mean a .php file generated by RapidWeaver but the php.ini file for the version of php you are using. Normally you can adjust these settings in the control-panel of your hosting account.

Thanks, Matthias,
for your valuable comment. That led me to netcup’s control panel. I am not sure where I should try to make changes. These are the options:

My hunch is that a new path ought to be added in the open_basedir field. But how do I get the info which path is needed? Could the error message give a hint?

Slim Application Error

The application could not run because of the following error:

Details

Code: 2

Message: file_exists(): open_basedir restriction in effect. File(//anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json) is not within the allowed path(s): (/var/www/vhosts/hosting144202.a2e88.netcup.net/:/tmp/)

File: /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/core/admin/contentForm.php

Line: 46

Trace

#0 [internal function]: Slim::handleErrors(2, ‘file_exists(): …’, ‘/var/www/vhosts…’, 46, Array) #1 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/core/admin/contentForm.php(46): file_exists(’//anlage4you.at…’) #2 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/View.php(160): require(’/var/www/vhosts…’) #3 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/View.php(144): Slim_View->render(‘admin/contentFo…’) #4 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Slim.php(616): Slim_View->display(‘admin/contentFo…’) #5 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/index.php(341): Slim->render(‘admin/contentFo…’, Array) #6 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Route.php(395): editBlogPost(‘2’, ‘13’) #7 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Slim.php(1145): Slim_Route->dispatch() #8 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Middleware/Flash.php(84): Slim->call() #9 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Middleware/MethodOverride.php(91): Slim_Middleware_Flash->call() #10 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Middleware/PrettyExceptions.php(65): Slim_Middleware_MethodOverride->call() #11 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/Slim/Slim.php(1097): Slim_Middleware_PrettyExceptions->call() #12 /var/www/vhosts/hosting144202.a2e88.netcup.net/cp2/rw_common/plugins/stacks/armadillo/index.php(1076): Slim->run() #13 {main}

I am thoroghly puzzled how the changes could evolve, at 4 different websites at the same time, without me doing anything (at least I believe so since I haven’t made any changes in 2 or 3 of these sites for several months). Now all blogs are defunct, I can’t add a new entry nor make changes to the existing blog entries. Really strange to me…

Thanks for further advice, if possible for you.

Shalom,
Franz

This might be one to ask your hosting company for support.

Setting different php.ini file settings can vary depending on the host’s configuration. PLESK, CPANEL or a custom control panel all work differently.

Isn’t a common thing to change and can have multiple directories are listed so you might not find a GUI setting for it.

The open_basedir setting is primarily used to prevent PHP scripts for a particular user from accessing files in another user’s account. So usually, any files in your own account should be readable by your own scripts.

@Franz The comments from @RapidBase and @teefers are spot on - this is a server configuration setting and not something Armadillo can do for you unfortunately. As @teefers has mentioned the steps for making this adjustment vary from host to host, so contacting their hosting support would be my recommendation at this point.

Hi Jonathan,

thanks for your comment. I contacted netcup.de, my hosters, and they seem not be willing or able to help. The response was:

Der Dateipfad “//anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json” ist ein absoluter Pfad, dieser liegt natürlich nicht innerhalb Ihres vhosts. Theoretisch müsste dieser entweder “./anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json” oder einfach nur “anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json” lauten. Gibt es hier eventuell eine Konfiguration in Ihrer Anwendung?

Then they ask at the end whether my CMS has any configuration that can be made to change paths. As far as I see, Armadillo does not allow that, right?

Meanwhile I tried to install a new Armadillo on a test webpage. Here I am defeated again. I tried multiple times and all I get is a blank page with the comment "Table ‘k138321_testseite.armadillo_post’ doesn’t exist“ From what I can see is that nothing has been written into the databank that I created.

Can you tell me how I can solve this installation issue? If I can get a new blog functioning I may have chance to compare it with those blogs that don’t function because of this open_basedir restriction problem.

Thanks for your help.

Kind regards,
Franz

Franz Rathmair | Mobil: +43 650 53 46 175 | Web: rathmair.eu

@Franz,
You might want to translate what the hosting company reply was. I know I don’t understand German and not sure how many others do.

You are right, sorry. Here is the translation:

The path “//[anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json]” is an absolute one, which means that it is not within your vhosts. Theoretically, it should be either “./[anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json]” or simply only “[anlage4you.at/rw_common/plugins/stacks/armadillomedia/images.json]”. Is there perhaps a configuration within your application?

Okay,

It’s been a while since I setup Armadillo. This might be one for Jonathan (@nimblehost). to have a look at.

I’m doing a clean install on my main MacPro, so I’m on a backup machine. Might be helpful if you gave us a screenshot of what your Armadillo settings look like (Les the database password):

2021-08-13_11-42-19

Sure, here it is:

On my other Blog installations I use the same Database Host name.

The Database host name can vary by hosting company. It can depend on if the host runs the MySQL database is considered being on the same server or a separate server. I’ve helped a few others with installing Armadillo on a few hosting companies and have always left that set to “localhost”. I understand that some hosting companies will give you a unique name.

Are they Armadillo blogs or something else?

They are Armadillo blogs, otherwise I wouldn’t have mentioned them.

I am so frustrated with this whole thing. 4 blogs on 4 different websites can’t add new entries nor can old one’s be changed, and I still don’t know what caused the failure. The hosting company? Changes through a RW update? Armadillo? Other causes?

These are existing Armadillo blogs that the issue is getting to the Admin area correct? Do they display current entries okay?

The reason I’m asking is if you didn’t republish pages from RapidWeaver, then nothing that changed within RapidWeaver (RW updates, Stacks updates or Armadillo updates) would have caused the issue.

If it was working before, and you didn’t republish, then that would point to the hosting company making a change.

Yes, the blogs are all made with Armadillo.

I also tend to think that my hosting company netcup somehow caused this problem. But I can’t prove it. - I quit for today (10 p.m.) Thanks for your help.

1 Like

UPDATE Aug 15: After many hours of seeking a solution I hit the right one more or less by chance: Downgrading the php version from 7.4 to 7.3 revived each and every of the four Armadillo blogs in four different websites on my netcup.de server!

I cannot remember when I switched from 7.3 to 7.4 on my websites. Whatever happened - it seems that for the time being my blogs seem to work.

Netcup has actived php 8.0 and I had tried that as well, albeit without success. Goint the other direction and stepping down from 7.4 to 7.3 seems to do the trick.

I am curious to learn how you see that, Jonathan. Is Armadillo really limited to servers with php 7.3?

When searching for a solution I felt I had found an error in the ERROR description of the SLIM application. There is a “/” missing in the name of the file that is said to not be in the right directy. I have circled it in red. The path should be … armadillo/media/images.json. - I don’t know whether this observation has any relevance. I have not fould a way to modify this path name anyway…

Thanks to all who tried to help – especially Jonathan and Doug.