Webhosting: Probleme mit PHP (SSH/Bash & Apache) und Anzahl der Cronjobs

  • Hallo allerseits,


    ich bin neu bei netcup (erstmal nur mit Webhosting 1000 SE) und stoße bei der Installation meiner Dienste (v.A. Hubzilla) auf ein paar Probleme. Ich habe weder ein Webhosting noch PHP-Forum für den Betrieb gefunden, also wenn ich falsch poste, bitte einfach in's richtige Forum verschieben.


    1) Via SSH erhalte ich Beim Ausführen eines Skripts zur Installation von Erweiterungen die Fehlermeldung:

    Code
    "Fatal error: Array and string offset access syntax with curly braces is no longer supported in <file>.php on line <#>"

    Bash gibt php-Version 8 an, ich denke, das Skript wurde für max. 7.3 geschrieben. Wie kann ich die php-Version (Default für SSH, und Aufruf von Cronjobs) ändern? Ich kenne die Pfade nicht...


    2) Beim Aufruf der Installation (per Web-Adresse) meiner Software erhalte ich Fehlerhinweise zum Web-PHP-Zugriff und url rewrite:

    Code
    Warning: file_exists(): open_basedir restriction in effect. File(/usr/bin/php) is not within the allowed path(s): (/var/www/vhosts/<host>/<domain>/:/tmp/:/var/lib/php/sessions:/var/www/vhosts/<host>/tmp) in /var/www/vhosts/<host>/<domain>/Zotlabs/Module/Setup.php on line <#>
    Code
    PHP-Befehlszeile
    
        Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.
        Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.
    
        PHP-Pfad zu ausführbarer Datei [/usr/bin/php]
        Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.
    Code
    Url rewrite funktioniert   [nein]     (required)
    
    Url rewrite in .htaccess is not working. Check your server configuration.Test: array ( 'return_code' => 0, 'success' => false, 'header' => '', 'body' => '', 'error' => 'SSL: certificate subject name \'Plesk\' does not match target host name \'<domain>\'', 'debug' => array ( 'url' => '<domain>/setup/testrewrite', 'content_type' => NULL, 'http_code' => 0, 'header_size' => 0, 'request_size' => 0, 'filetime' => -1, 'ssl_verify_result' => 1, 'redirect_count' => 0, 'total_time' => 0.011459, 'namelookup_time' => 2.0999999999999999E-5, 'connect_time' => 0.00027099999999999997, 'pretransfer_time' => 0.0, 'size_upload' => 0.0, 'size_download' => 0.0, 'speed_download' => 0.0, 'speed_upload' => 0.0, 'download_content_length' => -1.0, 'upload_content_length' => -1.0, 'starttransfer_time' => 0.0, 'redirect_time' => 0.0, 'redirect_url' => '', 'primary_ip' => '<IP6>', 'certinfo' => array ( ), 'primary_port' => 443, 'local_ip' => '<ip6>', 'local_port' => <port>, 'http_version' => 0, 'protocol' => 2, 'ssl_verifyresult' => 0, 'scheme' => 'HTTPS', ), 'request_target' => 'get /setup/testrewrite', )"

    Kommandozeilen-Zugriff auf PHP, restrictions und URL rewrite mod für lokale .htaccess hatte ich vor Order des Pakets explizit beim Service abgefragt und ein OK bekommen - Was mache ich wo falsch?


    3) Auf der Website wurden unter Details für 1000 SE "Cronjobs" (in der Mehrzahl) beworben - ohne dass irgendwelche Einschränkungen erwähnt würden. Im CCC wird unter Leistungen nur die Möglichkeit für einen einzigen Cronjob angezeigt - Welche Aussage stimmt denn nun?

  • Wie kann ich die php-Version (Default für SSH, und Aufruf von Cronjobs) ändern? Ich kenne die Pfade nicht...

    Ein Auszug aus meinem Webhosting (kann bei dir leicht variieren) :

    Code
    ls /usr/local/php*
    
    /usr/local/php56
    /usr/local/php70
    /usr/local/php71
    /usr/local/php72
    /usr/local/php73
    /usr/local/php74
    /usr/local/php80

    Mit diesen Pfaden kann man die PHP-Versionen gezielt ansprechen.

    Zusätzlich ist in /conf/phpversion die für die Shell verwendete PHP-Version hinterlegt und änderbar (siehe beiliegende Readme im selben Verzeichnis)



    open_basedir restriction

    Dieses lässt sich in den PHP-Einstellungen anpassen:

    https://www.netcup-wiki.de/wik…hosting#PHP-Einstellungen

    pasted-from-clipboard.png


    Ggf. muss hier von DocumentRoot auf WebspaceRoot umgestellt werden.

    Aber unabhängig davon irritieren mich einige deiner angegebenen Pfade, denn z.B. /var/www/vhosts/<host>/<domain>/ klingt nicht nach einem typischen Netcup-Webhosting-Aufbau.


    Auf der Website wurden unter Details für 1000 SE "Cronjobs" (in der Mehrzahl) beworben

    Also wenn ich mir die Produktseite anschaue, steht dort passend zu deiner Info aus dem CCP:

    pasted-from-clipboard.png

    Hast du ggf. ein anderes Produkt? Womöglich ein Sonderangebot/Spezialvariante? Dann müsste die Produktbezeichnung aber abweichen.

  • Habe gerade wenig Zeit und macht momentan auch nicht viel Sinn, weil netcup wohl (auf mein Ticket hin?) gerade einen Fix für das in der bash fehlende "php"-Kommando ausrollt in der gesamten Webhosting-Cloud (ging doch aber alles schon mal). Ich soll das dann morgen nochmal testen. Die PHP-CLI Binaries sind aber nichtsdestotrotz per bash verfügbar nach dem Schema /usr/local/phpxy/bin/php (xy darf sein 72,73,74,80, ältere gibts nicht mehr in den neueren Paketen mit Plesk Obsidian) Es fehlt momentan ein symbolischer Link php in /user/bin und der unter /conf-options beschriebene Umschaltmechanismus funktioniert momentan auch nicht. Das soll wohl bis morgen überall gefixt sein und wieder funktionieren. Schaun mer mal. :);)


    Zu 2) kann ich nur sagen, dass ich auf meinen Webhostingpaketen Software am Laufen habe, die ohne mod_rewrite in der .htaccess so nicht laufen würde. Allerdings nicht in dem neuen Paket von Weihnachten, vielleicht sind da ja noch ein paar mehr Tickets nötig oder es ist einfach ein Folgefehler aus 1). Kan ich noch nicht definitiv sagen, ich nutze das neue Paket noch nicht wirklich.


    Zu 3) Die Angabe unter "Leistungen" stimmt, das Webhosting 1000 hat nur 1 Cronjob (Webhosting 2000: 10, Webhosting 4000/8000: 25)

  • er meint garantiert die Detailsseite der Übersichtsseite

    Hilf mir mal bitte kurz auf die Sprünge - welche Seite soll das sein? :)


    Edit: Ach die Vergleichsseite, wo alle gegenübergestellt werden. Ja das stimmt - wobei streng genommen sieht man dort auch nicht das Webhosting 1000 SE ;) Letztendlich steht es ja auf der Produktseite zum Glück konkreter.

  • Schon einmal recht herzlichen Dank @all - Das hat sehr geholfen! Umsetzung probiere ich heute Abend.


    Ja, ich meinte die Gegenüberstellung, die ich für die Bestellung herangezogen hatte. Aber auf der Detailseite steht es tatsächlich konkreter. Das hatte ich dann überlesen - Mea culpa. :)

  • /conf/phpversion ist geändert, und ich warte auf die nächste Stunde zum Reboot.

    Mit Angabe von /usr/local/php73/bin/php hat das Skript aber auch funktioniert - Danke!


    Ggf. muss hier von DocumentRoot auf WebspaceRoot umgestellt werden.

    Done - Die Fehlermeldungen bleiben leider unverändert.

    Aber unabhängig davon irritieren mich einige deiner angegebenen Pfade, denn z.B. /var/www/vhosts/<host>/<domain>/ klingt nicht nach einem typischen Netcup-Webhosting-Aufbau.

    Statt der dreickigen Klammern stehen in der nicht anonymisierten Original-Meldung natürlich der konkrete Host und meine Domain, falls Du das meintest. Und nein, keine Sorge, die Paranoia ist nur leicht überdurchschnittlich, noch nicht pathologisch... :D

  • Ergänzung:

    Der Include Path war (offenbar seit Umstellung des Webservers auf php73?) etwas komisch:

    Code
    .:/usr/local/php73/share/php73

    statt

    Code
    .:/usr/local/php73/bin

    Korrigiert - Immerhin geht jetzt fasst alles ...


    ...außer URL rewrite. Habe mich mit der Doku befasst, aber mit {DOCROOT}/ müsste es ja passen.

    Die Hubzilla Doku fordert "no hosting provider restrictions on the use of exec() and proc_open()." Hatte ich mit dem Support vor Order eigentlich als OK geklärt, aber skeptisch in den php-Einstellungen macht mich:

    Code
    disable_functions <*>pcntl_exec<*>(Standard)