@@ -26,11 +26,7 @@ final class Bolt
2626
2727 public function __construct (private IConnection $ connection )
2828 {
29- $ _ENV ['TEMP_DIR ' ] = getenv ('TEMP ' ) ?: getenv ('TMPDIR ' ) ?: (dirname (__DIR__ ) . DIRECTORY_SEPARATOR . 'temp ' );
30- if (!file_exists ($ _ENV ['TEMP_DIR ' ])) {
31- mkdir ($ _ENV ['TEMP_DIR ' ], recursive: true );
32- }
33-
29+ $ this ->tempDirectoryInit ();
3430 if (!getenv ('BOLT_ANALYTICS_OPTOUT ' ) && is_writable ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR )) {
3531 if (!file_exists ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR . 'php-bolt-analytics ' . DIRECTORY_SEPARATOR )) {
3632 mkdir ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR . 'php-bolt-analytics ' );
@@ -41,6 +37,20 @@ public function __construct(private IConnection $connection)
4137 $ this ->setProtocolVersions (5.4 , 5 , 4.4 );
4238 }
4339
40+ private function tempDirectoryInit (): void
41+ {
42+ $ _ENV ['TEMP_DIR ' ] = getenv ('TEMP ' );
43+ if ($ _ENV ['TEMP_DIR ' ] === false || !is_writable ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR )) {
44+ $ _ENV ['TEMP_DIR ' ] = getenv ('TMPDIR ' );
45+ }
46+ if ($ _ENV ['TEMP_DIR ' ] === false || !is_writable ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR )) {
47+ $ _ENV ['TEMP_DIR ' ] = dirname (__DIR__ ) . DIRECTORY_SEPARATOR . 'temp ' ;
48+ }
49+ if (!file_exists ($ _ENV ['TEMP_DIR ' ])) {
50+ mkdir ($ _ENV ['TEMP_DIR ' ], recursive: true );
51+ }
52+ }
53+
4454 private function track (): void
4555 {
4656 foreach (glob ($ _ENV ['TEMP_DIR ' ] . DIRECTORY_SEPARATOR . 'php-bolt-analytics ' . DIRECTORY_SEPARATOR . 'queries.*.cnt ' ) as $ file ) {
0 commit comments