Severity: 8192
Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 132
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 290
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 164
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 233
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 313
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 354
Backtrace:
File: /home/craftyengineerin/public_html/application/libraries/Front_Controller.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/application/controllers/Services.php
Line: 6
Function: __construct
File: /home/craftyengineerin/public_html/index.php
Line: 317
Function: require_once
The technology we have with us "Tell us your need we will find a way to get it done"
We provide a wide range of services for metal fabrication at Crafty Engineering. We specialise in both Medium and Heavy fabrication, with required process for a ultimate output as requested. We capable of handling small or big projects. At our state-of-the- art facility can cater for all sorts of challenges no matter how complex your needs are. We also take the utmost care with each and every job. Given the risks involved in metal fabrication we take safety very seriously, and our safety procedures are industry best.