use BookStack\Exceptions\ImageUploadException;
use BookStack\Image;
use BookStack\User;
+use Exception;
use Intervention\Image\ImageManager;
use Illuminate\Contracts\Filesystem\Factory as FileSystem;
use Illuminate\Contracts\Filesystem\Filesystem as FileSystemInstance;
}
$fullPath = $imagePath . $imageName;
- if(!is_writable(dirname(public_path($fullPath)))) throw new ImageUploadException('Image Directory ' . public_path($fullPath) . ' is not writable by the server.');
-
- $storage->put($fullPath, $imageData);
+ try {
+ $storage->put($fullPath, $imageData);
+ } catch (Exception $e) {
+ throw new ImageUploadException('Image Path ' . $fullPath . ' is not writable by the server.');
+ }
$imageDetails = [
'name' => $imageName,
2. `cd` into the application folder and run `composer install`.
3. Copy the `.env.example` file to `.env` and fill with your own database and mail details.
-4. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server.
+4. Ensure the `storage`, `bootstrap/cache` & `public/uploads` folders are writable by the web server.
5. In the application root, Run `php artisan key:generate` to generate a unique application key.
6. If not using apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below.
7. Run `php artisan migrate` to update the database.