When i created a project using composer
C:\xampp\htdocs>composer create-project laravel/laravel tipar 5.4.*
Installing laravel/laravel (v5.4.30)
- Installing laravel/laravel (v5.4.30): Loading from cache
Created project in tipar
php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 59 installs, 0 updates, 0 removals
- Installing symfony/css-selector (v3.3.9): Loading from cache
- Installing tijsverkoyen/css-to-inline-styles (2.2.0): Loading from cache
- Installing symfony/polyfill-mbstring (v1.5.0): Loading from cache
- Installing symfony/var-dumper (v3.3.9): Loading from cache
- Installing jakub-onderka/php-console-color (0.1): Loading from cache
- Installing jakub-onderka/php-console-highlighter (v0.3.2): Loading from cache
- Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache
- Installing nikic/php-parser (v3.1.1): Loading from cache
- Installing psr/log (1.0.2): Loading from cache
- Installing symfony/debug (v3.3.9): Downloading (100%)
- Installing symfony/console (v3.3.9): Downloading (100%)
- Installing psy/psysh (v0.8.11): Loading from cache
- Installing vlucas/phpdotenv (v2.4.0): Loading from cache
- Installing symfony/routing (v3.3.9): Loading from cache
- Installing symfony/process (v3.3.9): Loading from cache
- Installing symfony/http-foundation (v3.3.9): Downloading (100%)
this is the only output i get, there are some files that are missing.
Related
Short description
I try to setup a basic TYPO3 installation using composer on a Debian 10 Server. Following all official instructions I could find, results in an http error 500 without meaningful (to me) content in the server log.
I encountered that problem on a clients server first, so I installed a completely fresh virtual server for debugging purposes and ran into exactly the same issue.
One thing I did, which might point someone in the know towards the solution:
web-devel#typo-test:/var/www/html/typotest/public$ cp index.php test.php
$ vi test.php
-> insert "print(__DIR__);" before call_user_func shows me a current path of
/var/www/html/typotest/public
which would result in a path of /var/www/html/typotest/public/vendor/autoload.php which doesn't exist.
However, replacing the reference to __DIR__ with "/var/www/html/typotest/" doesn't improve things ...
Same thing with both TYPO3 Releases 9 and 10
I couldn't find any mention of this problem, which amazes me for it being a straightforward approach. I'd be happy about any pointers toward a resolution or at least debugging tips ...
Long Description
-- Debian Gnu/Linux 10 all patches applied, Server IP is 192.168.100.171
-- Apache/PHP/XML/MySQL installed and running
-- Set the prerequisites according to https://docs.typo3.org/m/typo3/guide-installation/master/en-us/In-depth/SystemRequirements/Index.html
-- Prepare DB:
> MariaDB [(none)]> create database typotest;
Query OK, 1 row affected (0.000 sec)
> MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'web-devel'#'localhost' identified by 'XXXXXX';
Query OK, 0 rows affected (0.000 sec)
-- Pointing a browser to the IP results in the display of the default debian index page residing in /var/www/html
-- Created an info.php which displays correctly.
-- I realized, I didn't have the most current composer release. The suggested composer self-update failed so I installed composer according to https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-debian-10
# php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 1.10.8) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
-- So, all seems to be well
-- Next step - install TYPO3 according to
https://docs.typo3.org/m/typo3/guide-installation/master/en-us/QuickInstall/Composer/Index.html
$ cd /var/www/html
$ /usr/local/bin/composer create-project typo3/cms-base-distribution typotest
$ cd typotest
$ php vendor/bin/typo3cms install:setup \
--no-interaction \
--database-user-name=web-devel \
--database-user-password=XXXXXXX \
--database-host-name=127.0.0.1 \
--database-port=3306 \
--database-name=typotest \
--use-existing-database \
--admin-user-name=admin \
--admin-password=XXXXXXX \
--site-setup-type=site
-- which works flawlessly:
web-devel#typo-test:/var/www/html$ /usr/local/bin/composer create-project typo3/cms-base-distribution typotest
Creating a "typo3/cms-base-distribution" project at "./typotest"
Installing typo3/cms-base-distribution (v10.4.1)
- Installing typo3/cms-base-distribution (v10.4.1): Loading from cache
Created project in /var/www/html/typotest
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 87 installs, 0 updates, 0 removals
- Installing typo3/cms-composer-installers (v3.0.1): Loading from cache
- Installing typo3/class-alias-loader (v1.1.3): Loading from cache
- Installing helhum/config-loader (v0.12.2): Loading from cache
- Installing symfony/polyfill-php80 (v1.17.1): Loading from cache
- Installing symfony/process (v4.4.10): Loading from cache
- Installing symfony/polyfill-mbstring (v1.17.1): Loading from cache
- Installing symfony/polyfill-ctype (v1.17.1): Loading from cache
- Installing psr/container (1.0.0): Loading from cache
- Installing symfony/service-contracts (v1.1.8): Loading from cache
- Installing psr/cache (1.0.1): Loading from cache
- Installing symfony/polyfill-php73 (v1.17.1): Loading from cache
- Installing symfony/console (v4.4.10): Loading from cache
- Installing doctrine/lexer (1.2.1): Loading from cache
- Installing doctrine/annotations (1.10.3): Loading from cache
- Installing typo3fluid/fluid (2.6.9): Loading from cache
- Installing typo3/phar-stream-wrapper (v3.1.5): Loading from cache
- Installing typo3/cms-cli (2.0.0): Loading from cache
- Installing symfony/yaml (v4.4.10): Loading from cache
- Installing symfony/routing (v4.4.10): Loading from cache
- Installing symfony/polyfill-php72 (v1.17.0): Loading from cache
- Installing symfony/polyfill-intl-idn (v1.17.1): Loading from cache
- Installing symfony/polyfill-intl-icu (v1.17.1): Loading from cache
- Installing symfony/intl (v4.4.10): Loading from cache
- Installing symfony/mime (v4.4.10): Loading from cache
- Installing psr/event-dispatcher (1.0.0): Loading from cache
- Installing symfony/event-dispatcher-contracts (v1.1.7): Loading from cache
- Installing symfony/event-dispatcher (v4.4.10): Loading from cache
- Installing psr/log (1.1.3): Loading from cache
- Installing egulias/email-validator (2.1.18): Loading from cache
- Installing symfony/mailer (v4.4.10): Loading from cache
- Installing symfony/http-foundation (v4.4.10): Loading from cache
- Installing symfony/finder (v4.4.10): Loading from cache
- Installing symfony/var-exporter (v4.4.10): Loading from cache
- Installing symfony/cache-contracts (v1.1.7): Loading from cache
- Installing symfony/cache (v4.4.10): Loading from cache
- Installing symfony/expression-language (v4.4.10): Loading from cache
- Installing symfony/dependency-injection (v4.4.10): Loading from cache
- Installing symfony/filesystem (v4.4.10): Loading from cache
- Installing symfony/config (v4.4.10): Loading from cache
- Installing psr/http-message (1.0.1): Loading from cache
- Installing psr/http-server-handler (1.0.1): Loading from cache
- Installing psr/http-server-middleware (1.0.1): Loading from cache
- Installing psr/http-factory (1.0.1): Loading from cache
- Installing psr/http-client (1.0.0): Loading from cache
- Installing nikic/php-parser (v4.5.0): Loading from cache
- Installing ralouphie/getallheaders (3.0.3): Loading from cache
- Installing guzzlehttp/psr7 (1.6.1): Loading from cache
- Installing guzzlehttp/promises (v1.3.1): Loading from cache
- Installing guzzlehttp/guzzle (6.5.5): Loading from cache
- Installing doctrine/instantiator (1.3.1): Loading from cache
- Installing doctrine/event-manager (1.1.0): Loading from cache
- Installing doctrine/cache (1.10.1): Loading from cache
- Installing doctrine/dbal (2.10.2): Loading from cache
- Installing cogpowered/finediff (0.3.1): Loading from cache
- Installing typo3/cms-core (v10.4.4): Loading from cache
- Installing symfony/inflector (v4.4.10): Loading from cache
- Installing symfony/property-info (v4.4.10): Loading from cache
- Installing symfony/property-access (v4.4.10): Loading from cache
- Installing phpdocumentor/reflection-common (2.2.0): Loading from cache
- Installing phpdocumentor/type-resolver (1.3.0): Loading from cache
- Installing webmozart/assert (1.9.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (5.1.0): Loading from cache
- Installing typo3/cms-extbase (v10.4.4): Loading from cache
- Installing typo3/cms-fluid (v10.4.4): Loading from cache
- Installing typo3/cms-install (v10.4.4): Loading from cache
- Installing typo3/cms-frontend (v10.4.4): Loading from cache
- Installing typo3/cms-extensionmanager (v10.4.4): Loading from cache
- Installing typo3/cms-recordlist (v10.4.4): Loading from cache
- Installing typo3/cms-backend (v10.4.4): Loading from cache
- Installing helhum/typo3-console (v6.3.2): Loading from cache
- Installing typo3/cms-about (v10.4.4): Loading from cache
- Installing typo3/cms-viewpage (v10.4.4): Loading from cache
- Installing typo3/cms-tstemplate (v10.4.4): Loading from cache
- Installing typo3/cms-t3editor (v10.4.4): Loading from cache
- Installing typo3/cms-sys-note (v10.4.4): Loading from cache
- Installing typo3/cms-setup (v10.4.4): Loading from cache
- Installing typo3/cms-seo (v10.4.4): Loading from cache
- Installing typo3/cms-rte-ckeditor (v10.4.4): Loading from cache
- Installing typo3/cms-info (v10.4.4): Loading from cache
- Installing typo3/cms-impexp (v10.4.4): Loading from cache
- Installing typo3/cms-form (v10.4.4): Loading from cache
- Installing typo3/cms-fluid-styled-content (v10.4.4): Loading from cache
- Installing typo3/cms-filelist (v10.4.4): Loading from cache
- Installing typo3/cms-felogin (v10.4.4): Loading from cache
- Installing typo3/cms-dashboard (v10.4.4): Loading from cache
- Installing typo3/cms-beuser (v10.4.4): Loading from cache
- Installing typo3/cms-belog (v10.4.4): Loading from cache
helhum/config-loader suggests installing ext-yaml (For improved performance when parsing yaml files you should use the PECL YAML Parser php extension)
symfony/console suggests installing symfony/lock
symfony/polyfill-intl-idn suggests installing ext-intl (For best performance)
symfony/polyfill-intl-icu suggests installing ext-intl (For best performance)
symfony/intl suggests installing ext-intl (to use the component with locales other than "en")
symfony/event-dispatcher suggests installing symfony/http-kernel
egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation)
symfony/dependency-injection suggests installing symfony/proxy-manager-bridge (Generate service proxies to lazy load them)
guzzlehttp/psr7 suggests installing zendframework/zend-httphandlerrunner (Emit PSR-7 responses)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
typo3/cms-core suggests installing ext-gd (GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images)
typo3/cms-core suggests installing ext-intl (TYPO3 with unicode-based filesystems)
typo3/cms-core suggests installing ext-zip
symfony/property-info suggests installing symfony/doctrine-bridge (To use Doctrine metadata)
symfony/property-info suggests installing symfony/serializer (To use Serializer metadata)
typo3/cms-extbase suggests installing typo3/cms-scheduler (Additional scheduler tasks)
typo3/cms-frontend suggests installing typo3/cms-adminpanel (Provides additional information and functionality for backend users in the frontend.)
Writing lock file
Generating autoload files
Generating class alias map file
> typo3cms install:fixfolderstructure
The following directory structure has been fixed:
Directory /public/typo3temp successfully created.
Fixed permission on /public/typo3temp.
File /public/typo3temp/index.html successfully created.
Set content to /public/typo3temp/index.html
Fixed permission on /public/typo3temp/index.html.
Directory /public/typo3temp/assets successfully created.
Fixed permission on /public/typo3temp/assets.
Directory /public/typo3temp/assets/compressed successfully created.
Fixed permission on /public/typo3temp/assets/compressed.
Directory /public/typo3temp/assets/css successfully created.
Fixed permission on /public/typo3temp/assets/css.
Directory /public/typo3temp/assets/js successfully created.
Fixed permission on /public/typo3temp/assets/js.
Directory /public/typo3temp/assets/images successfully created.
Fixed permission on /public/typo3temp/assets/images.
Directory /public/typo3temp/assets/_processed_ successfully created.
Fixed permission on /public/typo3temp/assets/_processed_.
Directory /public/typo3conf successfully created.
Fixed permission on /public/typo3conf.
Directory /public/typo3conf/ext successfully created.
Fixed permission on /public/typo3conf/ext.
Directory /public/fileadmin successfully created.
Fixed permission on /public/fileadmin.
Directory /public/fileadmin/_temp_ successfully created.
Fixed permission on /public/fileadmin/_temp_.
File /public/fileadmin/_temp_/.htaccess successfully created.
Set content to /public/fileadmin/_temp_/.htaccess
Fixed permission on /public/fileadmin/_temp_/.htaccess.
File /public/fileadmin/_temp_/index.html successfully created.
Set content to /public/fileadmin/_temp_/index.html
Fixed permission on /public/fileadmin/_temp_/index.html.
Directory /public/fileadmin/user_upload successfully created.
Fixed permission on /public/fileadmin/user_upload.
Directory /public/fileadmin/user_upload/_temp_ successfully created.
Fixed permission on /public/fileadmin/user_upload/_temp_.
File /public/fileadmin/user_upload/_temp_/index.html successfully created.
Set content to /public/fileadmin/user_upload/_temp_/index.html
Fixed permission on /public/fileadmin/user_upload/_temp_/index.html.
Directory /public/fileadmin/user_upload/_temp_/importexport successfully created.
Fixed permission on /public/fileadmin/user_upload/_temp_/importexport.
File /public/fileadmin/user_upload/_temp_/importexport/.htaccess successfully created.
Set content to /public/fileadmin/user_upload/_temp_/importexport/.htaccess
Fixed permission on /public/fileadmin/user_upload/_temp_/importexport/.htaccess.
File /public/fileadmin/user_upload/_temp_/importexport/index.html successfully created.
Set content to /public/fileadmin/user_upload/_temp_/importexport/index.html
Fixed permission on /public/fileadmin/user_upload/_temp_/importexport/index.html.
File /public/fileadmin/user_upload/index.html successfully created.
Set content to /public/fileadmin/user_upload/index.html
Fixed permission on /public/fileadmin/user_upload/index.html.
File /var/.htaccess successfully created.
Set content to /var/.htaccess
Fixed permission on /var/.htaccess.
Directory /var/charset successfully created.
Fixed permission on /var/charset.
Directory /var/labels successfully created.
Fixed permission on /var/labels.
Directory /var/lock successfully created.
Fixed permission on /var/lock.
> typo3cms install:generatepackagestates
The following extensions have been added to the generated PackageStates.php file: core, extbase, fluid, frontend, fluid_styled_content, filelist, impexp, form, install, recordlist, backend, setup, rte_ckeditor, about, belog, beuser, dashboard, extensionmanager, felogin, info, seo, sys_note, t3editor, tstemplate, viewpage
31 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
then
web-devel#typo-test:/var/www/html$ php typotest/vendor/bin/typo3cms install:setup
Welcome to the TYPO3 Console installer!
➤ Prepare installation
✔ Check environment and create folders
➤ Set up database connection
Database connection type (default: "mysqli"):
[mysqli ] MySQL connection
[pdo_sqlite] SQLite connection
[pdo_pgsql ] PostgreSQL connection
[mssql ] MSSQL connection
> mysqli
User name for database server (default: ""): web-devel
User password for database server (default: ""):
Host name of database server (default: "127.0.0.1"):
TCP Port of database server (default: "3306"):
Unix Socket to connect to (default: ""):
✔ Ok
➤ Select database
Use already existing database? (y/N): y
Name of the database (required): typotest
✔ Ok
➤ Set up database
Username of to be created administrative user account (required): admin
Password of to be created administrative user account (required):
Name of the TYPO3 site (default: "New TYPO3 Console site"): Test Site
✔ Ok
➤ Set up configuration
Specify the site setup type (default: "no"):
[no ] Do nothing
[site] Create root page
> site
Specify the site base url (default: "/"):
✔ Ok
➤ Set up web server configuration
Specify the web server you want to write configuration for (default: "none"):
[none ] Do not write any configuration files
[apache] Create Apache .htaccess file
[iis ] Create Microsoft-IIS web.config file
> apache
✔ Ok
✔ Set up extensions
Successfully installed TYPO3 CMS!
Pointing my browser at http://192.168.100.171/typotest/public/ results in an Error 500 with this error in the apache-log-file:
[Sun Jun 28 12:21:35.232020 2020] [php7:error] [pid 10894] [client 192.168.100.143:53326]
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function TYPO3\\CMS\\Core\\Imaging\\IconFactory::__construct(), 0 passed in /var/www/html/typotest/public/typo3/sysext/core/Classes/Utility/GeneralUtility.php
on line 3423 and exactly 2 expected in /var/www/html/typotest/public/typo3/sysext/core/Classes/Imaging/IconFactory.php:71\nStack trace:\n#0 /var/www/html/typotest/public/typo3/sysext/core/Classes/Utility/GeneralUtility.php(3423):
TYPO3\\CMS\\Core\\Imaging\\IconFactory->__construct()\n#1 /var/www/html/typotest/public/typo3/sysext/core/Classes/TimeTracker/TimeTracker.php(242):
TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance('TYPO3\\\\CMS\\\\Core\\\\...')\n#2 /var/www/html/typotest/public/typo3/sysext/core/Classes/Error/ErrorHandler.php(162):
TYPO3\\CMS\\Core\\TimeTracker\\TimeTracker->setTSlogMessage('Core: Error han...', 2)\n#3 [internal function]:
TYPO3\\CMS\\Core\\Error\\ErrorHandler->handleError(2, 'fopen(/var/www/...', '/var/www/html/t...', 193, Array)\n#4
/var/www/html/typotest/public/typo3/sysext/core/Classes/Log/Writer/Fi in /var/www/html/typotest/public/typo3/sysext/core/Classes/Imaging/IconFactory.php on line 71, referer:
http://192.168.100.171/typotest/
Which doesn't make a lot of sense in the context ...
I tried the same with TYPO3 releases 9 and 10 - same result!
At this point TYPO3's var/log is empty.
Solved: I did a combination of:
chown -R web-devel.www-data typotest
chmod -R g+s typotest
and I had to set the php-fpm instance to run as web-devel. This seems to do the trick. Would be nice if this could be evaluated and added to the setup instructions ...
I am facing an issue when trying to connect a symfony 5 application with a redis server on heroku.
- My composer.json and composer.lock have the ext-redis:"*" setted.
"require": {
"php": "~7.4.0",
"ext-ctype": "*",
"ext-iconv": "*",
"ext-intl": "*",
"ext-openssl": "*",
"ext-redis": "*",
...
}
I have 3 config vars on heroku:
Default var created after heroku redis module activation
REDIS_URL = redis://h:someHash#ec2.eu-west-1.compute.amazonaws.com:27269
Custom var to fit php class Redis constructor
REDIS_HOST = redis://h:someHash#ec2.eu-west-1.compute.amazonaws.com
REDIS_PORT = 27269
My deploy stops on the error: Unable to find the socket transport "redis" - did you forget to enable it when you configured PHP?
The deploy full logs:
-----> PHP app detected
-----> Bootstrapping...
-----> Installing platform packages...
- php (7.4.6)
- ext-intl (bundled with php)
- ext-redis (5.2.2)
- apache (2.4.43)
- nginx (1.18.0)
-----> Installing dependencies...
Composer version 1.10.6 2020-05-06 10:28:10
Loading composer repositories with package information
Installing dependencies from lock file
Package operations: 108 installs, 0 updates, 0 removals
- Installing ocramius/package-versions (1.8.0): Loading from cache
- Installing symfony/flex (v1.6.3): Loading from cache
- Installing symfony/polyfill-mbstring (v1.17.0): Loading from cache
- Installing mtdowling/jmespath.php (2.5.0): Loading from cache
- Installing ralouphie/getallheaders (3.0.3): Loading from cache
- Installing psr/http-message (1.0.1): Loading from cache
- Installing guzzlehttp/psr7 (1.6.1): Loading from cache
- Installing guzzlehttp/promises (v1.3.1): Loading from cache
- Installing symfony/polyfill-intl-idn (v1.17.0): Loading from cache
- Installing guzzlehttp/guzzle (6.5.3): Loading from cache
- Installing aws/aws-sdk-php (3.138.0): Loading from cache
- Installing doctrine/cache (1.10.0): Loading from cache
- Installing doctrine/collections (1.6.4): Loading from cache
- Installing doctrine/inflector (1.4.1): Loading from cache
- Installing doctrine/instantiator (1.3.0): Loading from cache
- Installing doctrine/lexer (1.2.0): Loading from cache
- Installing psr/container (1.0.0): Loading from cache
- Installing symfony/service-contracts (v2.0.1): Loading from cache
- Installing symfony/stopwatch (v5.0.8): Loading from cache
- Installing symfony/polyfill-php73 (v1.17.0): Loading from cache
- Installing symfony/console (v5.0.8): Loading from cache
- Installing webimpress/safe-writer (2.0.1): Loading from cache
- Installing laminas/laminas-zendframework-bridge (1.0.3): Loading from cache
- Installing laminas/laminas-eventmanager (3.2.1): Loading from cache
- Installing laminas/laminas-code (3.4.1): Loading from cache
- Installing ocramius/proxy-manager (2.8.0): Loading from cache
- Installing doctrine/event-manager (1.1.0): Loading from cache
- Installing doctrine/dbal (2.10.2): Loading from cache
- Installing doctrine/migrations (2.2.1): Loading from cache
- Installing doctrine/annotations (1.10.2): Loading from cache
- Installing doctrine/reflection (1.2.1): Loading from cache
- Installing twig/twig (v3.0.3): Loading from cache
- Installing symfony/translation-contracts (v2.0.1): Loading from cache
- Installing symfony/validator (v5.0.8): Loading from cache
- Installing symfony/twig-bridge (v5.0.8): Loading from cache
- Installing symfony/mime (v5.0.8): Loading from cache
- Installing symfony/http-foundation (v5.0.8): Loading from cache
- Installing psr/event-dispatcher (1.0.0): Loading from cache
- Installing symfony/event-dispatcher-contracts (v2.0.1): Loading from cache
- Installing symfony/event-dispatcher (v5.0.8): Loading from cache
- Installing symfony/var-dumper (v5.0.8): Loading from cache
- Installing psr/log (1.1.3): Loading from cache
- Installing symfony/error-handler (v5.0.8): Loading from cache
- Installing symfony/http-kernel (v5.0.8): Loading from cache
- Installing symfony/filesystem (v5.0.8): Loading from cache
- Installing symfony/config (v5.0.8): Loading from cache
- Installing symfony/twig-bundle (v5.0.8): Loading from cache
- Installing symfony/translation (v5.0.8): Loading from cache
- Installing symfony/security-core (v5.0.8): Loading from cache
- Installing symfony/inflector (v5.0.8): Loading from cache
- Installing symfony/property-access (v5.0.8): Loading from cache
- Installing symfony/security-http (v5.0.8): Loading from cache
- Installing symfony/security-guard (v5.0.8): Loading from cache
- Installing symfony/security-csrf (v5.0.8): Loading from cache
- Installing symfony/dependency-injection (v5.0.8): Loading from cache
- Installing symfony/security-bundle (v5.0.8): Loading from cache
- Installing symfony/routing (v5.0.8): Loading from cache
- Installing symfony/finder (v5.0.8): Loading from cache
- Installing symfony/var-exporter (v5.0.8): Loading from cache
- Installing psr/cache (1.0.1): Loading from cache
- Installing symfony/cache-contracts (v2.0.1): Loading from cache
- Installing symfony/cache (v5.0.8): Loading from cache
- Installing symfony/framework-bundle (v5.0.8): Loading from cache
- Installing symfony/options-resolver (v5.0.8): Loading from cache
- Installing symfony/intl (v5.0.8): Loading from cache
- Installing symfony/polyfill-intl-icu (v1.17.0): Loading from cache
- Installing symfony/form (v5.0.8): Loading from cache
- Installing symfony/expression-language (v5.0.8): Loading from cache
- Installing doctrine/persistence (1.3.7): Loading from cache
- Installing symfony/doctrine-bridge (v5.0.8): Loading from cache
- Installing symfony/asset (v5.0.8): Loading from cache
- Installing pagerfanta/pagerfanta (v2.1.3): Loading from cache
- Installing doctrine/common (2.12.0): Loading from cache
- Installing doctrine/orm (v2.7.2): Loading from cache
- Installing jdorn/sql-formatter (v1.2.17): Loading from cache
- Installing doctrine/doctrine-bundle (2.0.8): Loading from cache
- Installing easycorp/easyadmin-bundle (v2.3.8): Loading from cache
- Installing behat/transliterator (v1.3.0): Loading from cache
- Installing gedmo/doctrine-extensions (v2.4.41): Loading from cache
- Installing symfony/process (v5.0.8): Loading from cache
- Installing matleo/bank-statement-parser (dev-master 88ebc8e): Loading from cache
- Installing phpdocumentor/reflection-common (2.1.0): Loading from cache
- Installing phpdocumentor/type-resolver (1.1.0): Loading from cache
- Installing sensio/framework-extra-bundle (v5.5.5): Loading from cache
- Installing symfony/dotenv (v5.0.8): Loading from cache
- Installing symfony/http-client-contracts (v2.0.1): Loading from cache
- Installing symfony/http-client (v5.0.8): Loading from cache
- Installing egulias/email-validator (2.1.17): Loading from cache
- Installing symfony/mailer (v5.0.8): Loading from cache
- Installing monolog/monolog (2.0.2): Loading from cache
- Installing symfony/monolog-bridge (v5.0.8): Loading from cache
- Installing symfony/monolog-bundle (v3.5.0): Loading from cache
- Installing symfony/notifier (v5.0.8): Loading from cache
- Installing doctrine/doctrine-migrations-bundle (2.1.2): Loading from cache
- Installing symfony/orm-pack (v1.0.8): Loading from cache
- Installing symfony/serializer (v5.0.8): Loading from cache
- Installing symfony/property-info (v5.0.8): Loading from cache
- Installing webmozart/assert (1.8.0): Loading from cache
- Installing phpdocumentor/reflection-docblock (5.1.0): Loading from cache
- Installing symfony/serializer-pack (v1.0.3): Loading from cache
- Installing symfony/polyfill-intl-normalizer (v1.17.0): Loading from cache
- Installing symfony/polyfill-intl-grapheme (v1.17.0): Loading from cache
- Installing symfony/string (v5.0.8): Loading from cache
- Installing twig/extra-bundle (v3.0.3): Loading from cache
- Installing symfony/twig-pack (v1.0.0): Loading from cache
- Installing psr/link (1.0.0): Loading from cache
- Installing symfony/web-link (v5.0.8): Loading from cache
- Installing symfony/yaml (v5.0.8): Loading from cache
Generating optimized autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
62 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 1
!!
!! In App_KernelProdContainer.php line 3884:
!!
!! Unable to find the socket transport "redis" - did you forget to enable it w
!! hen you configured PHP?
!!
!!
!!
Script #auto-scripts was called via post-install-cmd
! ERROR: Dependency installation failed!
!
! The 'composer install' process failed with an error. The cause
! may be the download or installation of packages, or a pre- or
! post-install hook (e.g. a 'post-install-cmd' item in 'scripts')
! in your 'composer.json'.
!
! Typical error cases are out-of-date or missing parts of code,
! timeouts when making external connections, or memory limits.
!
! Check the above error output closely to determine the cause of
! the problem, ensure the code you're pushing is functioning
! properly, and that all local changes are committed correctly.
!
! For more information on builds for PHP on Heroku, refer to
! https://devcenter.heroku.com/articles/php-support
! Push rejected, failed to compile PHP app.
! Push failed
Do i miss a extension ?
All you need is to instantiate \Redis object correctly. Based on Redis URL you provided it should be like this (code for phpredis extension):
$redis = new \Redis();
$redis->connect('ec2.eu-west-1.compute.amazonaws.com', 27269);
$redis->auth('someHash');
The tricky part here is that you don't need a username 't' from Redis URL provided by Heroku.
I'm trying to build a deployable image of my laravel app into docker.
Here is my dockerfile:
FROM php:7.1.14-fpm
ENV node_version 8.4.0
ENV npm_version 5.7.1
RUN echo "deb http://ftp.de.debian.org/debian stretch main " >> /etc/apt/sources.list \
&& apt-get update -y && apt-get install -y openssl zip unzip git automake \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libmagickwand-dev vim --no-install-recommends \
&& apt-get remove -y libgnutls-deb0-28 \
&& apt-get purge --auto-remove -y g++ \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install pdo pdo_mysql mbstring zip -j$(nproc) iconv mcrypt -j$(nproc) gd
WORKDIR /app
COPY . /app
COPY ./entrypoint.sh /tmp
RUN touch ./resources/assets/less/_main_full/main.less \
&& mv ./.env.local ./.env \
&& mv ./.dockerignore-local ./.dockerignore
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& composer install --no-interaction
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash \
&& export NVM_DIR="$HOME/.nvm" \
&& [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" \
&& nvm install ${node_version} \
&& npm install -g npm#${npm_version} \
&& npm install \
&& npm run dev
RUN chown -R www-data:www-data \
/app/storage \
/app/bootstrap/cache \
&& chmod 755 /tmp/entrypoint.sh
CMD ["/tmp/entrypoint.sh"]
In the build logs, I can see composer is invoked and working well.
---> Running in c4eb03cbb690
All settings correct for using Composer
Downloading...
Composer (version 1.6.3) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 121 installs, 0 updates, 0 removals
- Installing symfony/finder (v3.4.4): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.7.0): Downloading (100%)
- Installing symfony/var-dumper (v3.4.4): Downloading (100%)
- Installing psr/log (1.0.2): Downloading (100%)
- Installing maximebf/debugbar (1.13.1): Downloading (100%)
- Installing vlucas/phpdotenv (v2.4.0): Downloading (100%)
- Installing symfony/css-selector (v3.1.10): Downloading (100%)
- Installing tijsverkoyen/css-to-inline-styles (2.2.1): Downloading (100%)
- Installing symfony/routing (v3.4.4): Downloading (100%)
- Installing symfony/process (v3.4.4): Downloading (100%)
- Installing paragonie/random_compat (v2.0.11): Downloading (100%)
- Installing symfony/polyfill-php70 (v1.7.0): Downloading (100%)
- Installing symfony/http-foundation (v3.4.4): Downloading (100%)
- Installing symfony/event-dispatcher (v4.0.4): Downloading (100%)
- Installing symfony/debug (v3.4.4): Downloading (100%)
- Installing symfony/http-kernel (v3.4.4): Downloading (100%)
- Installing symfony/console (v3.4.4): Downloading (100%)
- Installing doctrine/lexer (v1.0.1): Downloading (100%)
- Installing egulias/email-validator (2.1.3): Downloading (100%)
- Installing swiftmailer/swiftmailer (v6.0.2): Downloading (100%)
- Installing ramsey/uuid (3.7.3): Downloading (100%)
- Installing psr/simple-cache (1.0.0): Downloading (100%)
- Installing psr/container (1.0.0): Downloading (100%)
- Installing symfony/translation (v3.4.4): Downloading (100%)
- Installing nesbot/carbon (1.22.1): Downloading (100%)
- Installing mtdowling/cron-expression (v1.2.1): Downloading (100%)
- Installing monolog/monolog (1.23.0): Downloading (100%)
- Installing league/flysystem (1.0.42): Downloading (100%)
- Installing erusev/parsedown (1.6.4): Downloading (100%)
- Installing doctrine/inflector (v1.3.0): Downloading (100%)
- Installing laravel/framework (v5.5.33): Downloading (100%)
- Installing barryvdh/laravel-debugbar (v2.4.3): Downloading (100%)
- Installing symfony/class-loader (v3.4.4): Downloading (100%)
- Installing barryvdh/reflection-docblock (v2.0.4): Downloading (100%)
- Installing barryvdh/laravel-ide-helper (v2.4.1): Downloading (100%)
- Installing knplabs/knp-snappy (v1.0.4): Downloading (100%)
- Installing barryvdh/laravel-snappy (v0.4.0): Downloading (100%)
- Installing cocur/slugify (v2.5): Downloading (100%)
- Installing cviebrock/eloquent-sluggable (4.2.4): Downloading (100%)
- Installing davejamesmiller/laravel-breadcrumbs (3.0.3): Downloading (100%)
- Installing doctrine/annotations (v1.6.0): Downloading (100%)
- Installing doctrine/cache (v1.7.1): Downloading (100%)
- Installing doctrine/collections (v1.5.0): Downloading (100%)
- Installing doctrine/common (v2.7.3): Downloading (100%)
- Installing doctrine/dbal (v2.5.13): Downloading (100%)
- Installing fzaninotto/faker (v1.7.1): Downloading (100%)
- Installing guzzlehttp/promises (v1.3.1): Downloading (100%)
- Installing psr/http-message (1.0.1): Downloading (100%)
- Installing guzzlehttp/psr7 (1.4.2): Downloading (100%)
- Installing lab404/laravel-impersonate (1.2.2): Downloading (100%)
- Installing zendframework/zend-diactoros (1.7.0): Downloading (100%)
- Installing symfony/psr-http-message-bridge (v1.0.2): Downloading (100%)
- Installing phpseclib/phpseclib (2.0.9): Downloading (100%)
- Installing league/event (2.1.2): Downloading (100%)
- Installing lcobucci/jwt (3.2.2): Downloading (100%)
- Installing defuse/php-encryption (v2.1.0): Downloading (100%)
- Installing league/oauth2-server (6.1.1): Downloading (100%)
- Installing guzzlehttp/guzzle (6.3.0): Downloading (100%)
- Installing firebase/php-jwt (v4.0.0): Downloading (100%)
- Installing laravel/passport (v3.0.2): Downloading (100%)
- Installing league/oauth1-client (1.7.0): Downloading (100%)
- Installing laravel/socialite (v3.0.0): Downloading (100%)
- Installing laravelcollective/html (5.5.x-dev 2f6dc39): Downloading (100%)
- Installing intervention/image (2.4.1): Downloading (100%)
- Installing danielstjules/stringy (2.4.0): Downloading (100%)
- Installing laravolt/avatar (1.8.1): Downloading (100%)
- Installing mtdowling/jmespath.php (2.4.0): Downloading (100%)
- Installing aws/aws-sdk-php (3.52.2): Downloading (100%)
- Installing league/flysystem-aws-s3-v3 (1.0.18): Downloading (100%)
- Installing liopic/korean-romanizer (1.0): Downloading (100%)
- Installing phpoffice/phpexcel (1.8.1): Downloading (100%)
- Installing symfony/polyfill-util (v1.7.0): Downloading (100%)
- Installing symfony/polyfill-php56 (v1.7.0): Downloading (100%)
- Installing nikic/php-parser (v3.1.4): Downloading (100%)
- Installing jeremeamia/superclosure (2.3.0): Downloading (100%)
- Installing maatwebsite/excel (2.1.24): Downloading (100%)
- Installing owen-it/laravel-auditing (2.3.7): Downloading (100%)
- Installing proengsoft/laravel-jsvalidation (v1.6.1): Downloading (100%)
- Installing rap2hpoutre/laravel-log-viewer (v0.7.1): Downloading (100%)
- Installing sentry/sentry (1.8.2): Downloading (100%)
- Installing sentry/sentry-laravel (0.3.0): Downloading (100%)
- Installing spatie/db-dumper (1.5.1): Downloading (100%)
- Installing spatie/laravel-backup (3.10.1): Downloading (100%)
- Installing thomaswelton/gravatarlib (0.1.0): Downloading (100%)
- Installing thomaswelton/laravel-gravatar (1.1.3): Downloading (100%)
- Installing torann/geoip (1.0.5): Downloading (100%)
- Installing webpatser/laravel-countries (dev-master 2568394): Downloading (100%)
- Installing kalnoy/nestedset (v4.3.1): Downloading (100%)
- Installing xoco70/laravel-tournaments (dev-master 8c9eac5): Downloading (100%)
- Installing symfony/dom-crawler (v3.1.10): Downloading (100%)
- Installing sebastian/version (2.0.1): Downloading (100%)
- Installing sebastian/resource-operations (1.0.0): Downloading (100%)
- Installing sebastian/recursion-context (3.0.0): Downloading (100%)
- Installing sebastian/object-reflector (1.1.1): Downloading (100%)
- Installing sebastian/object-enumerator (3.0.3): Downloading (100%)
- Installing sebastian/global-state (2.0.0): Downloading (100%)
- Installing sebastian/exporter (3.1.0): Downloading (100%)
- Installing sebastian/environment (3.1.0): Downloading (100%)
- Installing sebastian/diff (2.0.1): Downloading (100%)
- Installing sebastian/comparator (2.1.3): Downloading (100%)
- Installing phpunit/php-text-template (1.2.1): Downloading (100%)
- Installing doctrine/instantiator (1.1.0): Downloading (100%)
- Installing phpunit/phpunit-mock-objects (5.0.6): Downloading (100%)
- Installing phpunit/php-timer (1.0.9): Downloading (100%)
- Installing phpunit/php-file-iterator (1.4.5): Downloading (100%)
- Installing theseer/tokenizer (1.1.0): Downloading (100%)
- Installing sebastian/code-unit-reverse-lookup (1.0.1): Downloading (100%)
- Installing phpunit/php-token-stream (2.0.2): Downloading (100%)
- Installing phpunit/php-code-coverage (5.3.0): Downloading (100%)
- Installing webmozart/assert (1.3.0): Downloading (100%)
- Installing phpdocumentor/reflection-common (1.0.1): Downloading (100%)
- Installing phpdocumentor/type-resolver (0.4.0): Downloading (100%)
- Installing phpdocumentor/reflection-docblock (4.3.0): Downloading (100%)
- Installing phpspec/prophecy (1.7.3): Downloading (100%)
- Installing phar-io/version (1.0.1): Downloading (100%)
- Installing phar-io/manifest (1.0.1): Downloading (100%)
- Installing myclabs/deep-copy (1.7.0): Downloading (100%)
- Installing phpunit/phpunit (6.5.6): Downloading (100%)
- Installing laravel/browser-kit-testing (v2.0.1): Downloading (100%)
- Installing hamcrest/hamcrest-php (v1.2.2): Downloading (100%)
- Installing mockery/mockery (0.9.9): Downloading (100%)
symfony/var-dumper suggests installing ext-intl (To show region name in time zone dump)
symfony/var-dumper suggests installing ext-symfony_debug ()
maximebf/debugbar suggests installing kriswallsmith/assetic (The best way to manage assets)
maximebf/debugbar suggests installing predis/predis (Redis storage)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/browser-kit ()
symfony/http-kernel suggests installing symfony/config ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
symfony/console suggests installing symfony/lock ()
egulias/email-validator suggests installing ext-intl (PHP Internationalization Libraries are required to use the SpoofChecking validation)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
symfony/translation suggests installing symfony/config ()
symfony/translation suggests installing symfony/yaml ()
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.)
laravel/framework suggests installing laravel/tinker (Required to use the tinker console command (~1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use Flysystem caching (~1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (~1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~3.0).)
symfony/class-loader suggests installing symfony/polyfill-apcu (For using ApcClassLoader on HHVM)
barryvdh/reflection-docblock suggests installing dflydev/markdown (~1.0)
knplabs/knp-snappy suggests installing h4cc/wkhtmltoimage-amd64 (Provides wkhtmltoimage-amd64 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing h4cc/wkhtmltoimage-i386 (Provides wkhtmltoimage-i386 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing h4cc/wkhtmltopdf-amd64 (Provides wkhtmltopdf-amd64 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing h4cc/wkhtmltopdf-i386 (Provides wkhtmltopdf-i386 binary for Linux-compatible machines, use version `~0.12` as dependency)
knplabs/knp-snappy suggests installing wemersonjanuario/wkhtmltopdf-windows (Provides wkhtmltopdf executable for Windows, use version `~0.12` as dependency)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
lcobucci/jwt suggests installing mdanter/ecc (Required to use Elliptic Curves based algorithms.)
intervention/image suggests installing ext-imagick (to use Imagick based image processing.)
intervention/image suggests installing intervention/imagecache (Caching extension for the Intervention Image library)
aws/aws-sdk-php suggests installing aws/aws-php-sns-message-validator (To validate incoming SNS notifications)
spatie/laravel-backup suggests installing irazasyed/telegram-bot-sdk (Allows notifications to be sent using Telegram Bot)
spatie/laravel-backup suggests installing maknz/slack (Allows notifications to be sent via Slack)
thomaswelton/gravatarlib suggests installing twig/twig (>=1.4.0)
torann/geoip suggests installing geoip2/geoip2 (Required to use the MaxMind database or web service with GeoIP (~2.1).)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.5.5)
phpunit/phpunit suggests installing ext-xdebug (*)
phpunit/phpunit suggests installing phpunit/php-invoker (^1.1)
Package phpoffice/phpexcel is abandoned, you should avoid using it. Use phpoffice/phpspreadsheet instead.
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize
Removing intermediate container c4eb03cbb690
But when I run docker compose, and connect to my container, I can see there is no vendor/ folder, I have to execute again composer install that load dependencies from cache.
It is to be mentionned that I also have a .dockerignore that has inside vendor/ directory, but as I understand it, .dockerignore should have an effect on the COPY instruction but then, if it is built inside dockerfile, vendor folder should exist...
Why am I wrong ???
Could you share your docker-compose.yml file?
It is very possible that you are creating a shared volume between your host machine and container using docker-compose. Something that looks like this:
services:
app:
build:
context: .
dockerfile: <path-to-your-Dockerfile>
volumes:
- <your-project-path>:/app
Volumes are created after you have built your image and live outside your image/container.
What this means is that the volume you create can potentially overwrite whatever files you have created or installed when building your image.
.dockerignore is solely for loading the build context, and is not applicable when talking about artifacts that are created by the build process. You can and should keep /vendor in your .dockerignore file if you are recreating that folder/running composer each time you build. It is not necessary for Docker to have access to the contents of this folder in order to build your container and including them will just slow down the build.
The reason that you aren't seeing the /vendor folder after the build is finished is this: You are generating the /vendor folder when you do the composer install --no-interaction step which occurs in an intermediate layer (not the final layer). A build step that happens after this is overwriting the folder along with the artifacts that were generated. This can happen even if the composer step is the last item in your Dockerfile if as #nizar-el-berjawi suggests, you are mounting your source folder as a volume in your docker-compose.yml (presumably so you can develop in the container and update source as you go on the host), Docker will run a final mount step that will generate a layer on top of what you have in your Dockerfile. When Docker mounts the source directory, it overwrites the copy that it made during the build with the host source directory that is missing the /vendor sub-directory. Poof!
So to ensure that the /vendor folder is kept in the container, there are several options:
Move the composer install step in your Dockerfile into the final CMD command that specifies what to do when the container loads (and happens after volumes are mapped). Something like:
CMD composer install --no-interaction
&&\ ["/tmp/entrypoint.sh"]
Note that in this scenario, the container build will finish before composer install is complete/done, so if you use docker-compose build up [...etc] to build then your app will not be done building and will not be available until the composer step is complete. You can manually track the composer progress using docker logs on the host machine:
docker logs --follow [image_name/container_id]
To exit the log watcher press the Q key
If you require knowledge of completeness (e.g. for automated testing) this method isn't recommended (use one of the below methods instead)
Don't map your host source volume to the application directory. This will stop Docker from overwriting the folder but changes you make in the container will not propagate to the host. This is fine for a production build. On dev builds where you need to propagate code changes in the container back to the host or vice versa for testing, you can map the folder (use a separate docker-compose.yml file for these build targets). You'll have to run the composer install command manually in the container or on the host using docker exec after the build finishes:
docker exec -it [image_name/container_id] composer install --no-interaction
Move the /vendor folder after the composer step to a location that isn't being used for a volume in docker-compose.yml (e.g. /tmp/vendor ) and copy it back in the CMD section of your Dockerfile so that it is restored from the build whenever the container is (re)started.
RUN mv vendor /tmp/vendor
CMD cp -a /tmp/vendor vendor && ["/tmp/entrypoint.sh"]
The vendor directory is required for autoload application so when you ignore it in .dockerignore, docker COPY could not copy this directory as part of your code base and it caused Internal Server Error.
The good practice might be use pipline cache and artifact between stages and copy source code with vendor directory in Dockerfile.
I'm using Redis as session driver in Laravel 4.2 stable.
Ever since this morning, after I've got a composer update, the flashdata in sessions are not self-destroying. They are persistent. But if I switch from redis to file session driver, they are working as they should.
These are the updated packages:
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing symfony/finder (v2.5.3)
- Installing symfony/finder (v2.5.4)
Downloading: 100%
- Removing symfony/translation (v2.5.3)
- Installing symfony/translation (v2.5.4)
Downloading: 100%
- Removing symfony/security-core (v2.5.3)
- Installing symfony/security-core (v2.5.4)
Downloading: 100%
- Removing symfony/routing (v2.5.3)
- Installing symfony/routing (v2.5.4)
Downloading: 100%
- Removing symfony/process (v2.5.3)
- Installing symfony/process (v2.5.4)
Downloading: 100%
- Removing symfony/http-foundation (v2.5.3)
- Installing symfony/http-foundation (v2.5.4)
Downloading: 100%
- Removing symfony/event-dispatcher (v2.5.3)
- Installing symfony/event-dispatcher (v2.5.4)
Loading from cache
- Removing symfony/debug (v2.5.3)
- Installing symfony/debug (v2.5.4)
Loading from cache
- Removing symfony/http-kernel (v2.5.3)
- Installing symfony/http-kernel (v2.5.4)
Downloading: 100%
- Removing symfony/dom-crawler (v2.5.3)
- Installing symfony/dom-crawler (v2.5.4)
Downloading: 100%
- Removing symfony/css-selector (v2.5.3)
- Installing symfony/css-selector (v2.5.4)
Downloading: 100%
- Removing symfony/console (v2.5.3)
- Installing symfony/console (v2.5.4)
Downloading: 100%
- Removing symfony/browser-kit (v2.5.3)
- Installing symfony/browser-kit (v2.5.4)
Loading from cache
- Removing nesbot/carbon (1.11.0)
- Installing nesbot/carbon (1.12.0)
Downloading: 100%
- Removing symfony/filesystem (v2.5.3)
- Installing symfony/filesystem (v2.5.4)
Downloading: 100%
- Removing barryvdh/laravel-debugbar (v1.6.8)
- Installing barryvdh/laravel-debugbar (v1.7.5)
Downloading: 100%
- Removing guzzlehttp/guzzle (4.2.1)
- Installing guzzlehttp/guzzle (4.2.2)
Downloading: 100%
- Removing symfony/class-loader (v2.5.3)
- Installing symfony/class-loader (v2.5.4)
Downloading: 100%
- Removing bkwld/croppa (dev-master 6882599)
- Installing bkwld/croppa (dev-master f38d935)
Downloading: 100%
- Removing way/generators (dev-master 5edee3a)
- Installing way/generators (dev-master 27a8d2e)
Downloading: 100%
Writing lock file
Generating autoload files
Generating optimized class loader
Everything was working okay until the last composer update.
Have anyone else have experienced this? If so, how can I fix this?
Note: changing the cache and session driver to file works as it should, but I need redis.
Thanks in advance,
Just as a reference, It's fixed after a composer update days after. It was possibly a symfony component bug.
I'm working with a project made with Laravel 4 Framework, then I used this command to install the composer.
composer install
This is the execution result:
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing psr/log (dev-master 5144da9)
Loading from cache
- Installing doctrine/lexer (dev-master 57d5a02)
Loading from cache
- Installing doctrine/annotations (dev-master 97b4a00)
Loading from cache
- Installing doctrine/collections (dev-master bcb5377)
Loading from cache
- Installing doctrine/cache (dev-master ff36d42)
Loading from cache
- Installing doctrine/inflector (dev-master 8b4b3cc)
Loading from cache
- Installing doctrine/common (dev-master ba2ad8a)
Loading from cache
- Installing symfony/process (2.3.x-dev b09d36a)
Loading from cache
- Installing symfony/finder (2.3.x-dev fc0fbd5)
Loading from cache
- Installing symfony/console (2.3.x-dev f77c13a)
Loading from cache
- Installing symfony/filesystem (dev-master c136348)
Loading from cache
- Installing symfony/routing (2.3.x-dev 7d41463)
Loading from cache
- Installing symfony/debug (2.3.x-dev 93f2633)
Loading from cache
- Installing symfony/event-dispatcher (2.3.x-dev 30b2f95)
Loading from cache
- Installing symfony/http-foundation (2.3.x-dev 8ee2965)
Loading from cache
- Installing symfony/http-kernel (2.3.x-dev e6f1920)
Loading from cache
- Installing kriswallsmith/assetic (v1.1.2)
Loading from cache
- Installing codesleeve/sprockets (dev-master 2d14c76)
Loading from cache
- Installing symfony/dom-crawler (2.3.x-dev 7a72398)
Loading from cache
- Installing swiftmailer/swiftmailer (v5.0.3)
Loading from cache
- Installing predis/predis (0.8.x-dev 09cb667)
Loading from cache
- Installing patchwork/utf8 (v1.1.16)
Loading from cache
- Installing nesbot/carbon (1.7.0)
Loading from cache
- Installing monolog/monolog (dev-master 5ad421d)
Loading from cache
- Installing nikic/php-parser (dev-master 0353c92)
Loading from cache
- Installing jeremeamia/superclosure (1.0.1)
Loading from cache
- Installing ircmaxell/password-compat (1.0.x-dev 1fc1521)
Loading from cache
- Installing classpreloader/classpreloader (1.0.1)
Loading from cache
- Installing symfony/translation (2.3.x-dev 6b255d2)
Loading from cache
- Installing symfony/css-selector (2.3.x-dev 8df20c5)
Loading from cache
- Installing symfony/browser-kit (2.3.x-dev 7149642)
Loading from cache
- Installing filp/whoops (1.0.7)
Loading from cache
- Installing doctrine/dbal (2.4.x-dev ad8608b)
Loading from cache
- Installing laravel/framework (4.0.x-dev 426c9e0)
Loading from cache
- Installing leafo/scssphp (v0.0.7)
Loading from cache
- Installing coffeescript/coffeescript (1.3.1)
Loading from cache
- Installing leafo/lessphp (v0.4.0)
Loading from cache
- Installing nitra/php-min (dev-master f2d5e3f)
Loading from cache
- Installing codesleeve/asset-pipeline (dev-master cad206e)
Loading from cache
- Installing mustache/mustache (v2.4.1)
Loading from cache
- Installing way/generators (dev-master 8390ef9)
Downloading: 100%
- Installing barryvdh/laravel-migration-generator (dev-master 5cd7ec3)
Loading from cache
- Installing dinesh/barcode (dev-master 6cbcffb)
Loading from cache
- Installing symfony/class-loader (dev-master d122b8a)
Loading from cache
- Installing dflydev/markdown (dev-master 6baed9b)
Loading from cache
- Installing phpdocumentor/reflection-docblock (2.0.0)
Loading from cache
- Installing barryvdh/laravel-ide-helper (v1.7.1)
Loading from cache
symfony/routing suggests installing symfony/config ()
symfony/routing suggests installing symfony/yaml ()
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/config ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
kriswallsmith/assetic suggests installing twig/twig (Assetic provides the integr
ation with the Twig templating engine)
kriswallsmith/assetic suggests installing ptachoire/cssembed (Assetic provides t
he integration with phpcssembed to embed data uris)
kriswallsmith/assetic suggests installing leafo/scssphp-compass (Assetic provide
s the integration with the SCSS compass plugin)
predis/predis suggests installing ext-phpiredis (Allows faster serialization and
deserialization of the Redis protocol)
patchwork/utf8 suggests installing lib-icu (Use Intl for best performance)
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages
to a GrayLog2 server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an A
MQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a M
ongoDB server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages
to a CouchDB server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a
Sentry server)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages
to an Elastic Search server)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages
to AWS services like DynamoDB)
symfony/translation suggests installing symfony/config ()
symfony/translation suggests installing symfony/yaml ()
Writing lock file
Generating autoload files
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me
ssage":"Class 'Codesleeve\\AssetPipeline\\Filters\\CssRewrite' not found","file"
:"C:\\laravel-projects\\plansherpa\\app\\config\\packages\\codesleeve\\asset-pip
eline\\config.php","line":64}}Script php artisan optimize handling the post-inst
all-cmd event returned with an error
[RuntimeException]
Error Output:
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-p
lugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--ver
bose] [-o|--optimize-autoloader]
On OSX (Mountain Lion) and Windows 7 Home Premium shows me the same error message. How can I fix it now?
Please help me! Thanks in advance.
Seems like a codesleeve issue not laravel / composer.
Have you previously installed codesleeve?
Try removing that line from the app/config/app.php file
Remove codesleeve from composer.json
Run a composer update. Everything should be working now.
Re-add codesleeve to composer.json
Run another composer update
Re-add the codesleeve service provider to app/config/app.php
Run a composer dump-autoload
See how that goes with each step. I'm assuming the problem will still exist but the first 3-4 steps will be good.
Possibly look into upgrading laravel to 4.1 as I think the new codesleeve requires some stuff from this?
tl:dr its looking for Codesleeve\AssetPipeline\Filters\CssRewrite but cant find it.