Given an install with Drupal and CiviCRM, the CRM_Utils_File::isAbsolute method does not respect paths that are prefixed with a stream wrapper. For example, this breaks if using Kernel tests and a mocked file system. Paths are prefixed with vfs://. Also, you may be using AWS to store files and leveraging an s3:// stream wrapper.
Reproduction steps
Set file_private_path to a stream wrapper path
Install CiviCRM
Explodes as CiviCRM prefixes the valid path with the core Drupal path
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Thanks for reporting @mglaman, and for sharing your workaround. Quick question: are you talking about D7 or D8+? (this might be obvious to other people... )
It might not be too hard to fix in core, just would want to see how isAbsolute is used elsewhere where it might have some assumptions. Fortunately doesn't look like too many places to check, at least in core:
One other note is that DIRECTORY_SEPARATOR gets overused and is often used wrong. When using streams I think that would be yet another scenario where you would not want DIRECTORY_SEPARATOR but just always use '/'.
Thank you for raising an issue to help improve CiviCRM. As you may know, this issue has not had any activity for quite some time, so we have closed it.
We would like you to help us to determine if this issue should be re-opened:
If this issue was reporting a bug, can you attempt to reproduce it on a latest version of CiviCRM?
If this issue was proposing a new feature, can you verify if the feature proposal is still relevant? Did it get the concept-approved label? Have other people also shown interest? Could it be implemented as an extension?
If the answer to either question is yes, please feel free to comment or re-open the issue. Please also consider:
Is it something that you could help implement, either by sending a patch or hiring someone who can?
Thank you for your help and contributions to CiviCRM.
P.S. This is an automated message, see infra/gitlab issue 20. We understand that automatic responses are annoying, but given the number of open issues as the project evolves, we need a bit of help to triage and prioritise the most relevant issues.