On Thu, Jun 24, 2021 at 9:40 AM otheus uibk <otheus.uibk@gmail.com> wrote:
>
> Thank Jeffrey, that's a good eye, but unfortunately, the problem persists.
>
> Indeed, update.php had not completed *successfully*. There appears to be a mistake in the documentation (or a shorthand in which it is assumed the admin understands the syntax is not literal). The INSTALL page says to run:
>
> > composer require "phpoffice/phpexcel:~1.8"
>
> I had ran this command verbatim. Initially, composer would not complete due to another unrelated module which specified unit-tests in its require/manifest, but the module was not deployed with its test directory. Having fixed that problem in multiple places, the composer command ran successfully. Unfortunately the tilde seems to have been the cause of the failure for running update:
>
> phpoffice/phpexcel: 1.8.2 installed, ~1.8 required.
> Error: your composer.lock file is not up to date. Run "composer update --no-dev" to install newer dependencies
>
> This is really quite strange. I looked at the composer documentation, and there is definitely some confusion there. In one section, it says that the version attribute must match a regular expression, which does not include the ~. Another section (https://getcomposer.org/doc/articles/versions.md) indicates this is perfectly acceptable, and that "~1.8" should mean ">=1.8.0". However, none of the following combinations in composer.json worked:
> - "1.8*"
> - "1.8.*"
> - "1.8.0"
> - ">=1.8.0"
> In the end, I had to change composer.json with the exact version number composer had previously installed. Then I could run update. I also updated the language cache.
Don't get me started on the dev tools on a production server...
Here's what I do for composer:
$ sudo apt-get install -y composer
$ sudo su -
# cd /var/www/html/w
# rm -rf /var/www/html/w/vendor
# php -d extension=phar.so composer.phar update --no-dev
# exit
$ sudo apt-get remove -y composer
Then, fix ownership and permissions on the files. We use
root:www-data, 0750 and friends. Root owns everything and gets
read/write. The webserver is the group owner and only gets read. (The
webserver gets read/write on the upload/ and sessions/ directories).
Jeff
_______________________________________________
MediaWiki-l mailing list -- mediawiki-l@lists.wikimedia.org
List information: https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/