#48 allow_url_fopen dependency

Closed
opened 1 year ago by aheathershaw · 14 comments

LNT00:

Installing Blue Twilight Setup Files •Checking PHP modules… •Fetching Composer signature…

Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /public/install.php on line 140

Warning: file_get_contents(https://composer.github.io/installer.sig): failed to open stream: no suitable wrapper could be found in /public/install.php on line 140 Failed downloading the Composer signature from https://composer.github.io/installer.sig.

Unable to set allow_url_fopen on shared hosting

[LNT00](https://github.com/LNT00): Installing Blue Twilight Setup Files •Checking PHP modules... •Fetching Composer signature... Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /public/install.php on line 140 Warning: file_get_contents(https://composer.github.io/installer.sig): failed to open stream: no suitable wrapper could be found in /public/install.php on line 140 Failed downloading the Composer signature from https://composer.github.io/installer.sig. Unable to set allow_url_fopen on shared hosting
aheathershaw added this to the Version 2.1.0 milestone 1 year ago
aheathershaw added the
bug
label 1 year ago
aheathershaw self-assigned this 1 year ago
aheathershaw commented 1 year ago
Owner

Thanks for reporting this. Do you have shell/CLI access on your host?

The only way around this I can see is to ship a copy of the Composer installer with Blue Twilight - which is directly against the Composer project’s recommendations, however I can’t see another alternative.

Thanks for reporting this. Do you have shell/CLI access on your host? The only way around this I can see is to ship a copy of the Composer installer with Blue Twilight - which is directly against the Composer project's recommendations, however I can't see another alternative.
aheathershaw commented 1 year ago
Owner

LNT00:

No, my host is quite restrictive and i don’t have ssh access. Would using curl instead of file_get_contents() be a solution?

[LNT00](https://github.com/LNT00): No, my host is quite restrictive and i don't have ssh access. Would using curl instead of file_get_contents() be a solution?
aheathershaw commented 1 year ago
Owner

Yep, that may work. Let me have a look tomorrow, I’ll get you a replacement install.php file to try out.

Yep, that may work. Let me have a look tomorrow, I'll get you a replacement `install.php` file to try out.
aheathershaw commented 1 year ago
Owner

Actually, just reading around - it seems Composer requires allow_url_fopen turned on due to its own use of file_get_contents.

https://github.com/composer/composer/issues/4740

I’ve zipped up the dependencies (which Composer installs) at the below URL. Download and unzip this on your own machine, then upload into the root folder of your Blue Twilight install - so you have:

  • app
  • bootstrap
  • config
  • … etc. …
  • vendor (this is the contents of the zip file).

http://www.andyheathershaw.uk/blue-twilight-vendor.tar.gz

Actually, just reading around - it seems Composer requires allow_url_fopen turned on due to its own use of `file_get_contents`. https://github.com/composer/composer/issues/4740 I've zipped up the dependencies (which Composer installs) at the below URL. Download and unzip this on your own machine, then upload into the root folder of your Blue Twilight install - so you have: - app - bootstrap - config - ... etc. ... - vendor (this is the contents of the zip file). http://www.andyheathershaw.uk/blue-twilight-vendor.tar.gz
aheathershaw commented 1 year ago
Owner

I’ve noticed you’re accessing your system using “http://your-url/public/” - ideally your web hosting root (sometimes called www-root) should be pointed to the public folder, so you just access “http://your-url/”.

However if you cannot do this, you’ll need to amend your public/.htaccess file to have RewriteBase /public/ instead of RewriteBase /

Then you should be able to access “http://your-url/public/” and it will run the BT installer (hopefully!)

I've noticed you're accessing your system using "http://your-url/public/" - ideally your web hosting root (sometimes called www-root) should be pointed to the public folder, so you just access "http://your-url/". However if you cannot do this, you'll need to amend your public/.htaccess file to have `RewriteBase /public/` instead of `RewriteBase /` Then you should be able to access "http://your-url/public/" and it will run the BT installer (hopefully!)
aheathershaw commented 1 year ago
Owner

LNT00:

root is pointed to public folder

After adding the folder i get 404 on http://mydomain/photo/public/install/check

[LNT00](https://github.com/LNT00): root is pointed to public folder After adding the folder i get 404 on http://mydomain/photo/public/install/check
aheathershaw commented 1 year ago
Owner

If your www-root is pointed to the public folder (within Blue Twilight’s install directory), you don’t need /public in the URL. Blue Twilight is a Laravel 5 application, which are designed to be at the root of a domain or subdomain (e.g. http://photos.mydomain or just http://mydomain -> which would be rooted at, e.g. /file/system/path/blue-twilight/public.)

Based on your URL, it looks like your www-root isn’t pointing to Blue Twilight’s public folder.

To get your current URL working, you will need to modify your public/.htaccess to have a RewriteBase of /photo/public/ - i.e.

RewriteBase /photo/public/

If your www-root is pointed to the public folder (within Blue Twilight's install directory), you don't need /public in the URL. Blue Twilight is a Laravel 5 application, which are designed to be at the root of a domain or subdomain (e.g. http://photos.mydomain or just http://mydomain -> which would be rooted at, e.g. `/file/system/path/blue-twilight/public`.) Based on your URL, it looks like your www-root isn't pointing to Blue Twilight's public folder. To get your current URL working, you will need to modify your `public/.htaccess` to have a `RewriteBase` of `/photo/public/` - i.e. `RewriteBase /photo/public/`
aheathershaw commented 1 year ago
Owner

LNT00:

Yes, i had the subdomain pointing wrong, changed it to correct location.

System Requirements page is displayed with a warning

Maximum POST request size: Your post_max_size setting should be slightly bigger than your upload_max_filesize setting to allow for the HTTP header.

and when i click Continue i get

Whoops, looks like something went wrong.

[LNT00](https://github.com/LNT00): Yes, i had the subdomain pointing wrong, changed it to correct location. System Requirements page is displayed with a warning Maximum POST request size: Your post_max_size setting should be slightly bigger than your upload_max_filesize setting to allow for the HTTP header. -- and when i click Continue i get Whoops, looks like something went wrong.
aheathershaw commented 1 year ago
Owner

LNT00:

I enabled debug and this is the actual error:

(1/1) FatalErrorException Call to undefined method Illuminate\Session\Store::set() in InstallController.php (line 58)

[LNT00](https://github.com/LNT00): I enabled debug and this is the actual error: (1/1) FatalErrorException Call to undefined method Illuminate\Session\Store::set() in InstallController.php (line 58)
aheathershaw commented 1 year ago
Owner

What version of Blue Twilight are you using?

What version of Blue Twilight are you using?
aheathershaw commented 1 year ago
Owner

LNT00:

2.1.0-beta.3

LE: i just tried with Version 2.0.2 and got the same result.

[LNT00](https://github.com/LNT00): 2.1.0-beta.3 LE: i just tried with Version 2.0.2 and got the same result.
aheathershaw commented 1 year ago
Owner

LNT00:

So it worked after i edited InstallController.php and changed two instances of set() to put(). (found some details here: https://laracasts.com/discuss/channels/laravel/a-session-error-after-updating-to-laravel-54 )

It installed successfully and it’s working now.

Thanks!

[LNT00](https://github.com/LNT00): So it worked after i edited InstallController.php and changed two instances of set() to put(). (found some details here: https://laracasts.com/discuss/channels/laravel/a-session-error-after-updating-to-laravel-54 ) It installed successfully and it's working now. Thanks!
aheathershaw commented 1 year ago
Owner

Brilliant thanks - I must have missed this in the Laravel 5.3 -> 5.4 upgrade.

I’ll raise a separate issue for it and close this one.

Brilliant thanks - I must have missed this in the Laravel 5.3 -> 5.4 upgrade. I'll raise a separate issue for it and close this one.
aheathershaw commented 1 year ago
Owner
Migrated from https://github.com/andysh-uk/blue-twilight/issues/48
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.