CI4
breaks when it encounters a
path that has a tilde(~) in it.
Unfortunately, Apple uses tildes in its iCloud Drive path name, which is rendered as:
Code:
/Users/username/Library/Mobile Documents/com~apple~CloudDocs
When using PHP's built-in web server on MacOS:
Code:
cd /Users/moo/Library/Mobile Documents/com~apple~CloudDocs/Sites/ci4b1/
php -S localhost:8892 -t $(pwd)/public
... the user-visible path
Code:
/Users/myname/Sites/ci4b1/
...ACTUALLY resolves to
Code:
/Users/myname/Library/Mobile Documents/com~apple~CloudDocs/Sites/ci4b1/
Returning this response:
Code:
Fatal error: Uncaught Error: Class 'Config\App' not found in /Users/myname/Library/Mobile Documents/com~apple~CloudDocs/Sites/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php on line 139
The same fatal error returns when executing spark at the CLI if the CI4 folder is located in a path containing a tilde(~) .
Code:
➜ ci4b1 pwd
/Users/moo/Desktop/folder_with_a_tilde~/ci4b1
➜ ci4b1 ./spark
PHP Fatal error: Uncaught Error: Class 'Config\App' not found in /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php:139
Stack trace:
#0 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php(80): CodeIgniter\Config\Config::createClass('Config\\App')
#1 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Common.php(99): CodeIgniter\Config\Config::get('Config\\App', true)
#2 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/bootstrap.php(158): config('Config\\App')
#3 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/spark(44): require('/Users/moo/Desk...')
#4 {main}
thrown in /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php on line 139
Fatal error: Uncaught Error: Class 'Config\App' not found in /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php:139
Stack trace:
#0 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php(80): CodeIgniter\Config\Config::createClass('Config\\App')
#1 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Common.php(99): CodeIgniter\Config\Config::get('Config\\App', true)
#2 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/bootstrap.php(158): config('Config\\App')
#3 /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/spark(44): require('/Users/moo/Desk...')
#4 {main}
thrown in /Users/moo/Desktop/folder_with_a_tilde~/ci4b1/vendor/codeigniter4/framework/system/Config/Config.php on line 139
➜ ci4b1
(Using CodeIgniter since 1.x)