Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fatal error: require_once(): Failed opening required 'phar:///var/www/vhosts/example.de/httpdocs/composer/composer.phar/vendor/autoload.php' (include_path='.:/opt/plesk/php/5.6/share/pear') in /var/www/vhosts/example.de/httpdocs/system/modules/!composer/src/Runtime.php on line 560 #313

Open
RitualRambo opened this issue Mar 20, 2017 · 24 comments

Comments

@RitualRambo
Copy link

RitualRambo commented Mar 20, 2017

Seit heute morgen begrüßt mich folgende Fehlermeldung.

Contao 3.5.24.

Fatal error: require_once(): Failed opening required 'phar:///var/www/vhosts/example.de/httpdocs/composer/composer.phar/vendor/autoload.php' (include_path='.:/opt/plesk/php/5.6/share/pear') in /var/www/vhosts/example.de/httpdocs/system/modules/!composer/src/Runtime.php on line 560

{
    "name": "local/website",
    "description": "A local website project",
    "type": "project",
    "license": "proprietary",
    "require": {
        "codefog/contao-cookiebar": ">=1.3.1.0,<1.4-dev",
        "contao-community-alliance/composer-client": "~0.14",
        "contao-legacy/autoregistration": "~1.3",
        "contao-legacy/backupdb": "~3.2",
        "delahaye/dlh_googlemaps": ">=2.2.0.0,<2.3-dev",
        "dklemmt/contao_dk_mmenu": ">=1.5.1.0,<1.6-dev",
        "isotope/isotope-core": ">=2.4.1.0,<2.5-dev",
        "jrgregory/m17-sticky-backend-footer": ">=2.0.6.0,<2.1-dev",
        "terminal42/contao-fineuploader": ">=2.0.1.0,<2.1-dev",
        "terminal42/contao-inserttags": ">=1.9.2.0,<1.10-dev",
        "terminal42/contao-mailusername": ">=1.0.6.0,<1.1-dev"
    },
    "prefer-stable": true,
    "minimum-stability": "dev",
    "config": {
        "preferred-install": "dist",
        "cache-dir": "cache",
        "component-dir": "../assets/components"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://legacy-packages-via.contao-community-alliance.org/"
        },
        {
            "type": "composer",
            "url": "https://legacy-packages-via.contao-community-alliance.org"
        },
        {
            "type": "artifact",
            "url": "packages"
        }
    ],
    "extra": {
        "contao": {
            "migrated": "done"
        }
    }
}

Hat jemand eine Lösung dafür?

@fritzmg
Copy link
Contributor

fritzmg commented Mar 20, 2017

Poste die composer.json in dreifachen back ticks, also ```…```

Welche Version des composer-client ist aktuell installiert?

@RitualRambo
Copy link
Author

"contao-community-alliance/composer-client": "~0.14",

@fritzmg
Copy link
Contributor

fritzmg commented Mar 20, 2017

That's only the version you required. What is the version that is currently installed? You can see that in your composer.lock for instance.

@RitualRambo
Copy link
Author

Also ich glaube es gefunden zu haben.

{
            "name": "contao-community-alliance/composer-client",
            "version": "0.16.6",
            "source": {
                "type": "git",
                "url": "https://github.com/contao-community-alliance/composer-client.git",
                "reference": "d52f0f042a9176a22b8a654da3415e54ce3c89d3"
            },

@fritzmg
Copy link
Contributor

fritzmg commented Mar 20, 2017

Hm, I can't reproduce the problem. I have

  • Contao 3.5.24
  • Composer 1.4.1
  • Composer Client 0.16.6
  • PHP 5.6.21

Are you sure you are using the latest version of the composer.phar?

@RitualRambo
Copy link
Author

Composer.phar 1.4.1
Seltsam, letzte Woche war das Problem noch nicht da.

@RitualRambo
Copy link
Author

Wenn ich auf PHP 7 umstelle ist der Fehler verschwunden...

@discordier
Copy link
Member

Can not reproduce on PHP 5.6.30-0+deb8u1 (the only PHP 5.6 I still have laying around).

Can you provide us with more details how this can be reproduced?

@RitualRambo
Copy link
Author

Mehr als das was ich gepostet habe kann ich auch nicht sagen.
Der Fehler kam immer bei contao/main.php?do=composer&settings=dialog
In den Logs steht auch nichts Außergewöhnliches.
Aber offenbar gibt es noch andere Leute mit dem gleichen Problem.
https://community.contao.org/de/showthread.php?66097-Composer-erzeugt-Fehlermeldung-mit-Contao-V-3-5-24

@discordier
Copy link
Member

Doch, die PHP Version z.B. und dann obendrein noch die Einstellung von phar usw.

Eigentlich hast du uns hier keinerlei Informationen geben ausser dem Fatal error selbst. Deine Umgebung, hoster, etc. kennen wir nicht.

@RitualRambo
Copy link
Author

Steht doch schon weiter oben PHP 5.6.3.0
Und wo oder wie kann ich die Einstellungen von phar sehen?

einstellungen

@WorkerBeeEu
Copy link

WorkerBeeEu commented Mar 21, 2017

Ich kann das Problem bestätigen.
Fatal error: require_once(): Failed opening required 'phar:///var/www/vhosts/*******.com/httpdocs/arbeit/rennverein/composer/composer.phar/vendor/autoload.php' (include_path='.:/opt/plesk/php/5.6/share/pear') in /var/www/vhosts/*******.com/httpdocs/arbeit/rennverein/system/modules/!composer/src/Runtime.php on line 560
Es handelt sich um einen aktuellen Plesk-Server mit der php 5.6.30 als fcgi-Modul. Gestern hatte ich da mit einer anderen Seite auf dem selben Server keine Probleme aber jetzt geht es auf einmal nicht mehr. Contao ist die 3.5.24 - es gab gestern ein Plesk Update für php 7.0 7.0.17 und 7.1>7.1.3. Der Ersteller hat ebenfalls Plesk am Laufen also würde ich davon ausgehen, dass hier das Modul mit einigen Standard-Einstellungen für Plesk kollidiert.
BTW: Es ist egal, welcher Hoster - eine "platformunabhängige" php-Anwendung MUSS laufen. Es gibt sicher immer mal ein paar Special-Features aber bei einer Standard-Plesk Installation darf sowas nicht sein.
EDIT: Es gab am 15. ein Update der php5.6...
EDIT2: Es gab am 15. März ein Plesk-Update, welches das php Ticket CVE-2015-8994 fixt - ich denke dass der Server das nicht direkt am 15. eingespielt hat und deswegen nun dieses Probleme erst seit heute auftritt.

@WorkerBeeEu
Copy link

WorkerBeeEu commented Mar 21, 2017

@discordier teste das lokal bei dir bitte mit folgenden php-Einstellungen:
opcache.validate_permission = 1
opcache.enable = 1

Wenn ich zwischen den Aufrufen des Contao-Backend mittels einer zusätzlichen php-Datei [gleicher Server, im selben Webspace] den opcache mit opcache_reset() leere, dann geht alles einwandfrei.

@RitualRambo ich trau mich gar nicht, das hier zu posten, aber füge mal ein opcache_reset(); an den Anfang der composer-Plugin config.php ;-) Dann kannst du wenigstens erst einmal weiterarbeiten.

@RitualRambo
Copy link
Author

Naja ich hab einfach auf PHP7 umgestellt, dann war der Fehler auch weg.

@discordier
Copy link
Member

@RitualRambo:

Steht doch schon weiter oben PHP 5.6.3.0

Auch nach nun text search hier im Ticket finde ich diese Information deinerseits immer noch nicht... In Zukunft bitte gleich mitgeben.
Deine phar Einstellungen findest du ybrigens entweder in deiner php.ini Datei(en) oder aber indem du ein script mit dem Inhalt: <?php phpinfo(); aufrufst.

@WorkerBeeEu Leider werde ich in naechster Zeit nicht dazu kommen das zu debuggen.
Danke auf jeden Fall schon mal fyr die ini flags die sich bei dir geaendert haben.
Deiner Ausfyhrung nach sollte das Problem nach einem einmaligen opcache_reset() wieder laufen?
Das ist dann wiederum kein Problem von uns sondern von deinem Hoster welcher durch das upgrade den opcache corrupted hat.
Tritt das Problem bei dir wieder auf, wenn du den Aufruf wieder entfernst? Wenn ja, dann ist das ein Indiz dass dein Hoster an seinem PHP rumgefummelt hat und irgendwelche komischen Dinge tut.

PS:

BTW: Es ist egal, welcher Hoster - eine "platformunabhängige" php-Anwendung MUSS laufen. Es gibt sicher immer mal ein paar Special-Features aber bei einer Standard-Plesk Installation darf sowas nicht sein.

Sag das den Hostern welche PHP immer kaputt konfigurieren, weil sie meinen dadurch seien sie "sicherer".
WIR spielen nicht an settings und opcaches herum.
Wenn die Hoster einige PHP Einstellungen einfach so lassen wie sie sein sollen, dann hat man kaum Probleme, wenn die Hoster aufhoeren wyrden selbst an PHP rumzupatchen, haette man auch kaum Probleme. Glycklicherweise benehmen sich die kleinen Hoster da oft vorbildhaft und die grossen ziehen inzwischen nach.

@backbone87
Copy link
Contributor

backbone87 commented Mar 22, 2017

Wenn es ein opcache_reset tut, dann sollte auch ein reload des fcgi service funktionieren?

*das würde dann ziemlich definitiv auf einen corrupted cache hinweisen und wäre übrigens nichts was wir von unserer seite aus lösen könnten (außer generell nen opcache_reset zu machen bei jedem request, was ziemlich doof wäre)

@WorkerBeeEu
Copy link

@RitualRambo der Fehler tritt sofort nach dem Reset wieder auf. Ich hab den Reset jetzt einfach in der Config drin gelassen, sodass beim Laden des Moduls der Cache zurückgesetzt wird - eine Notlösung, mehr nicht.
Ich probiere das heute noch einmal auf einem anderen Plesk-System aus und werde dabei die 5.5 sowie die 7.0 berücksichtigen und gebe dazu Feedback [ein Wechsel auf php 7.x kommt halt nicht immer in Frage]. Beim wälzen des php-Bugtrackers sind mir mehrere opcache und auch phar-Fehler begegnet.

@fritzmg
Copy link
Contributor

fritzmg commented Mar 23, 2017

Ich kann das Problem auf einem Hosting von uns nun auch nachvollziehen. Dort kommt auch Plesk zum Einssatz. Das Problem tritt auf wenn ich entweder

  • in die Einstellungen gehen möchte, also main.php?do=composer&settings=dialog,
  • die Suche betätige, also main.php?do=composer&keyword=…
  • ein composer update durchführen lassen möchte,
  • nach einem update über die Konsole auf die Paketverwaltung zugreifen möchte
  • und nach dem update über die Konsole auf das Datenbank update zugreifen möchte.

@discordier Der composer-client erwartet ja, dass sich in der composer.phar eine vendor/autoload.php befindet - evt. hat sich das mit Composer 1.4.x geändert?

@k-webdesign
Copy link

Ich kann das Problem ebenfalls auf einem einzigen Hosting bestätigen. Lokal geht alles einwandfrei, auf dem Server dann nicht mehr. Manchmal tritt der Fehler schon auf, wenn ich nur auf die Paketverwaltung klicke, die Fälle 1-3 von fritzmg kann ich auch bestätigen.

Auf dem Server ist ebenfalls ein Plesk installiert. PHP Version: 5.6.30; Handler: FastCGI-Anwendung. Die PHP-Version kann ich leider nicht umstellen um es mal mit der 7er zu testen.

@Webstylerin
Copy link

Heute ist das Problem bei mir auch aufgetreten. Contao 3.5.25, frisch installiert, keine zwei Wochen alt. Bei der Installation des Composers gab es keine Probleme, heute wollte ich den Composer-Cache löschen lassen und die oben genannte Fehlermeldung erscheint.

Ebenfalls PHP Version 5.6.30, CGI/FastCGI & Plesk.

PHP 7 kann ich leider auch nicht spontan testen, da ich den nötigen Zugriff auf den Server nicht habe und da es immer noch Erweiterungen gibt, die nicht unter PHP7 laufen, wäre es schön, wenn es eine Lösung für PHP5 gibt.

@k-webdesign
Copy link

Ich konnte jetzt auf PHP 7.0 wechseln, bekomme die Fehlermeldung aber immer noch.

@anpyat
Copy link

anpyat commented Apr 10, 2017

Selbes Problem bei mehreren Contao-Installation auf Plesk (self-hosted) mit PHP 5.6/FastCGI.
(Contao 3.5.21 bis 3.5.25; composer-client 0.16.6; composer über die Einstellungen aktualisiert und composer-cache geleert.)
So ziemlich jeder Schritt unter "Paketverwaltung" produziert den o.g. Fehler.
Interessanterweise wird die gewünschte Seite nach einem Reload oft normal angezeigt.
z.B. Aufruf der "Composer-Einstellungen" > Fehler > Reload nach 10 sekunden > Einstellungen erscheinen.

Nur eine Umstellung auf PHP 7 hilft.

@speedweb
Copy link

selbes Problem... Contao 3.5.27 / PHP 5.6.30 / Plesk (self-hosted)
nach umstellen auf PHP 7.1.5 ist der fehler weg.
Kann aber leider auch nicht auf PHP 7.1.5 eingestellt lassen, da ansonsten einige weitere
Anwendungen auf dem Account nicht funktionieren.

@anli-xsigns
Copy link

Zwar uralt hier, aber vielleicht stolpert ja noch einmal jemand drüber. Da ich aufgrund von zu PHP 7.1 inkompatiblen Modulen nicht auf PHP 7.1 umstellen konnte, machte ich das Update über die Konsole auf unserem Plesk-Server mit
/opt/plesk/php/5.6/bin/php -d memory_limit=16G -d max_execution_time=900 composer.phar update

Mit -4G ging es nicht durch.

Weitere Lektüre hier: https://support.plesk.com/hc/en-us/articles/115001707605-How-to-run-Composer-with-Plesk-PHP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants