Problem mit Docker?

Problem mit Docker

und zwar haut bei mir der Befehl

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

nicht hin.

Ich erstelle ein Image über ein Dockerfile (docker build -t [name] .)

Das Image basierd auf debian:latest

Danach wird apt-get update & apt-get upgrade ausgeführt

Dann werden Komponenten installiert (sudo, apache2, php, cron, ...)

und wiederum danach werden die apache2 Konfigurierung angepasst das der Apache2-Server auf /webserver das DocumentRoot setzt

Soweit alles gut.

jetzt kann ich über den docker run befehl den parameter --mount hinzufügen und darüber ein externes Verzeichnis auf /webserver binden.

Bis hier her Funktioniert alles noch.

Jetzt wenn ich eine index.html aufrufe funktioniert das eine index.php funktioniert auch. Wenn ich jetzt jedoch in der .php Datei folgenden code Benutze(um auf MySql - Server zuzugreifen zu können):

      $mysqli = new mysqli("host_ip","bn","pw","tabelle");
      //echo mysqli_get_host_info($mysqli);
      if ($mysqli->connect_errno) {
          echo "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
          return false;
      }else{
          return $mysqli;
      }

Kommt ein 500-ServerError.

Soweit ich es jetzt ergoogeln konnte muss ich zusätzlich den Port 3306(MySql-Port) Exposen und zusätzlich mit -p 3306:3306 in den docker run befehl einbauen.

Außerdem muss man antscheinend mit

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

Das MySqli modul installieren & aktivieren.

Hier ist auch schon das Problem:

Wenn ich mit oben genannten befehl mein Image aus dem Dockerfile erstellen möchte kommt (wenn er an der Stelle mit "RUN docker-php..." ankommt):

RUN docker-php-ext-install mysqli
 ---> Running in bce06404a5ca
/bin/sh: 1: docker-php-ext-install: not found
The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 127

Und jetzt meine Frage wie kann ich diesen fehler Beheben, ich weiß leider nicht mehr weiter!

Für die vollständigkeit hier noch der docker run befehl(den ich benutze wenn ich das Funktionierende Image ohne "RUN docker-php-..." nutze):

docker run --name webserver \
-p 80:80 \
-p 3306:3306 \
--mount type=bind,source="/lokaler/pfad",destination=/webserver [name_des_images]
Computer, Technik, Apache, container, Image, MySQL, PHP, Port, Technologie, PDO, Docker, Spiele und Gaming
Pdf Tabelle in MySQL?

Hi,

folgendes Problem. Ich bin gerade dabei für meine Schule einen Vertretungplan neu zu Programmieren. Die Idee war es den Plan in einer MySql Datenbank zu speichern.

Etwa so

und ihn dann mit Php aus der Datenbank zu lesen und in eine HTML mit echo auszugeben. Der Teil funktioniert schonmal.

Sieht dann später ca. so aus. (Design bei weitem noch nicht fest.)

Der weiter Plan wäre dann z.b mit NodeJs Pushnachrichten an eine Vertretungsplan App zu schicken.

Jedenfalls funktionier das jetzige System an der Schule aber so, dass eine Lehrkraft, die für die Erstellung des Vertretungsplans zuständig ist, diesen in einer Anwendung erstellt, die zum einen anscheinend viele Vorteile bei der Erstellung hat (z.b kann man alle normalen Stundenpläne direkt einsehen und mit wenigen klicks den Plan erstellen), aber leider nur in PDF die Tabellen exportieren kann. Zurzeit wird die Pdf dann auf dem Server in eine png umgewandelt und mit php dargestellt. Da der Provider der Schulwebsite (webhosting (kein vServer oder ssh Zugriff)) php5 was z.b beim Login für den Vertretungplan noch benutzt wird einstellen wird und man alles eh auf php7 umschreiben muss, dachte ich diese modernisierung wäre auch gleich eine gute Idee.

Jedenfalls ist jetzt das Problem wie ich die Pdf Tabellen in Mysql schreiben kann.

(Mir ist natürlich bewusst das Tabellen bei PDF nicht mit Zeilen und spalten direkt kopiert werden können.)

Ein Programm mit Verwendung von irgendwelchen einfach librarys wäre auch kein Problem.

Hier nochmal ein Bild von der jetzigen Tabelle als PNG

(Alle verschiedenen Stufen also z.b 5,6,7 usw. müssten in eine Seperate MySQL Tabelle)

Danke für alle Antworten.

Bild zum Beitrag
Lässt sich irgendwie von PDF konvertieren und in MySQL schreiben 100%
Ein neues Programm zur Erstellung mit direktem MySQL sup schreibe 0%
Computer, Technik, PDF, Webseite, Datenbank, MySQL, OCR, PHP, Technologie, Abstimmung, Umfrage
[jQuery AJAX] echo mit HTML Content von PHP Datei ausgeben?

Okay, die Frage ist evtl ein bisschen kompliziert. Deshalb beschreibe ich das anhand eines Beispiels. Zuerst meine Dateien:

PHP (submit.php)

<?php
 $mail = $_GET['mail']; if(filter_var($mail, FILTER_VALIDATE_EMAIL)) { echo "<div role=\"alert\">Ungültige E-Mail</div>"; } else { echo "<div role=\"alert\">Gültige E-Mail</div>"; }

?>

HTML (index.html)

<form id="myForm">
  <input type="email" name="mail" id="mail" placeholder="E-Mail Adresse"/>
  <input type="submit" name="check" id="check" value="Senden"/>
</form>
<script src="http://code.jquery.com/jquery-1.9.1.js"/> <script> $(function () { $('form').on('submit', function (e) { e.preventDefault(); $.ajax({ type: 'post', url: 'submit.php', data: $('form').serialize(),   success: function() {    //echo "Gültige E-Mail    } error: function() { //echo "Ungültige E-Mail" } }); }); }); </script>

Beschreibung:

Sobald das Formular abgesendet wurde, wird die E-Mail an die submit.php gesendet. In dieser wird überprüft, ob die E-Mail gültig ist und gibt dann das Ergebnis in Form von HTML-Code zurück.

Die Lösung mit alert will ich nicht. Es soll unterhalb der Form das Ergebnis stehen.

Wenn ich mit PHP

echo "<div role=\"alert\">Gültige E-Mail</div>";

ausgebe, dann steht das auch direkt in HTML dort (also nicht als PlainText).

Wie ist es also möglich, das Ergebnis der submit.php zu bekommen und in der index.html auszugeben?

Vielen Dank im Voraus!

Computer, Technik, HTML, Webseite, programmieren, JavaScript, AJAX, JQuery, PHP, Technologie
Problem mit MySQL wenn ich Apache2 über anderen Port verbinde?

Hallo,

heute habe ich ein kleines Problem,

und bevor ich eine moralpredigt bekomme das Man apache2 nur auf Port 80 und 443 benutzt:

"Ich weiß jedoch ist es sinnvoll den "Standartserver" (80/443) auf das verzeichnis /darf/jeder/sehen zu leiten und z.B. den "Home-Server" (8080) auf das verzeichnis /streng/geheim zu leiten"

Falls sich jetzt jemand Fragt wie ich das gemacht habe:

Terminal öffnen

cd /etc/apache2

nano ports.conf

hinzufügen von "Listen [DEIN_PORT]"

^X danach Y und ENTER

nano apache2.conf

danach unter den verzeichnisen einen Neuen eintrag beginnend mit "<Directory [/dein/streng/geheimes/verzeichnis]>" und anschließend mit den von dir gewünschten optionen versehen

^X danach Y und ENTER

dann in das Verzeichnis sites-enabled wechseln

cd /sites-enabled

danach entweder eine neue datei mit endung ".conf" erstellen oder die "000-default.conf" erweitern, in meinem Fall:

nano 000-default.conf

hinzufügen eines neuen Virtual host

<Virtualhost *:[DEIN_PORT_DER_IN_DER_PORTS_CONF_STEHT]>
DocumentRoot [DEIN_STRENG_GEHEIMES_VERZEICHNIS] 
ServerName STRENG_GEHEIMER_SERVER 
ServerAdmin SAG_ICH_DIR_NICHT@geheime_email.tld 
</Virtualhost> 

vor dem : muss ein * sein also *:

danach noch ein restart

sudo service apache2 restart

und tada "zweiter" Server läuft (evtl musst du [DEIN_STRENG_GEHEIMES_VERZEICHNIS] noch mit chown etc. modifizieren das Apache die nötigen rechte hat um darauf zugreifen zu können)

Jetzt mein Problem:

Unter dem "Standart" Port von Apache (80) wenn ich mit der datei test.php eine Verbindung zum Mysql - Server herstellen möchte funktioniert dies Prima, sobalt ich die Test.php jedoch auf meinen "zweiten" Server unter Port 8081 schiebe so kommt nur "Verbindung fehlgeschlagen: Connection refused" zum vorschein.

Inhalt von test.php:

<?php
    $db_user = "BENUTZER";
    $db_pw = "PASSWORT";
    $db_place = "DATENBANK";
    $db_server = "192.16x.17x.xxx";
    $mysqli = new mysqli($db_server, $db_user, $db_pw, $db_place);
    $state = true;
    if ($mysqli->connect_errno) {
        return "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
        $state = false;
    }
    echo mysql_get_host_info($mysqli);

Info:

den Verwendeten nutzer habe ich von allen rechten bis hin zu "nur" datenbankspezifische Rechte schon alles durchprobiert. Auch habe ich schon von "localhost" auf "%" auf "192.16x.17x.xxx" etc. umgestellt.

Gehe ich auf 192.16x.17x.xxx/phpmyadmin und verwende den Benutzernamen + Passwort kann ich mich Problemlos einlogen (auch wenn ich über 192.16x.17x.xxx:8081/phpmyadmin einlogen möchte)

Ich sehe mich echt nicht raus als währe es gut wenn jmd den fehler erkennen und finden würde, danke schonmal

Computer, Technik, programmieren, MySQL, PHP, Technologie, Apache2, phpMyAdmin, Spiele und Gaming
PHP auf xampp funktioniert die Webseite auf 1und1 (ionos.de) funktioniert die Webseite nicht mehr?

Hallo, ich habe eine .php Webseite erstellt. Die Funktion habe ich immer mit Xampp überprüft. Soweit war diese dann auch fertig und vollkommen funktionsfähig. Jetzt habe ich diese auf 1und1 (ionos.de) in meinen Webspace geladen. Dort nutze ich die selbe php version welche ich bei xampp genutzt habe.
Beim ersten Test der Seite soweit auch gut. Alles wurde richtig angeziegt und schien zu funktionieren.

Beim weiteren Test aber musste ich feststellen, dass ich keine cookies setzen kann. Ich bekomme keine zurückgegeben. Offline hat das aber immer funktioniert.

So:

setcookie ("username", $auth->account['username'], time()+28800); 

Jetzt bekomme ich immer folgenden Fehler:

Warning: Cannot modify header information - headers already sent by (output started at /homepages/2/d785807995/htdocs/page/login.php:1) in /homepages/2/d785807995/htdocs/page/login.php on line 101

Auch wenn ich versuche den gesetzten Cookie auszulesen... Ohne Erfolg. Offline in Xampp kein Problem.

auch

header('Location: /page/suche.php');

funktioniert nicht mehr. Hier bekomme ich dann:

Warning: Cannot modify header information - headers already sent by (output started at /homepages/2/d785807995/htdocs/page/login.php:1) in /homepages/2/d785807995/htdocs/page/login.php on line 105

Warum kann ich das nicht so lassen wie ich es bisher hatte? Warum hat das mit Xampp auf dem rechner funktioniert aber auf dem Server nicht mehr? Hat jemand bitte einen Rat für mich?

Keine Hilfe war für mich:

  • https://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php/8028987

Beste Grüße aus Karlsruhe

Computer, Technik, HTML, 1und1, PHP, Technologie, xampp, ionos
Woocommerce "Select options" Text im Add to cart Button ändern?

Moin!

Langsam bin ich wirklich mit meinem Talent am Ende. Ich bin kein Profi Programmierer, aber so grundlegende Dinge kann ich schon. Allerdings bekomme ich eine Sache nicht hin: In meinem Shop (https://breswim.de) bekomme ich es einfach nicht hin auf der Startseite in dem Produkt Grid auf dem Add to cart Button aus "Select options" "Ausführung wählen" oder irgendwas Deutsches zu machen.

Die Seite ist mit WordPress aufgesetzt. Als Shop Plugin nutze ich Woocommerce. Das Produkt Grid was dort zu sehen ist, ist mit dem Essential Add Ons for Elementor Plugin eingebaut.

Ich habe schon die language files von meinem Theme (Savoy) und Woocommerce durchsucht, bin aber einfach nicht fündig geworden. Auch im Internet habe ich natürlich nach Lösungen gesucht und bin hierauf gestoßen: https://www.templatemonster.com/help/de/woocommerce-how-to-change-select-options-text.html Hab ich versucht.. Problem: Mein Theme hat keine custom-functions.php. Habe ich versucht eine neue custom-functions.php anzulegen mit dem dort angegeben Code, hat auch nicht funktioniert.

Kann mir bitte jemand helfen? Ich wäre euch sehr dankbar. :)

Wenn ihr noch weitere Angaben zu meinem Shop benötigt, dann schreibt kurz was ihr braucht und ich werde schnellstmöglich antworten.

Vielen Dank im Voraus!

Computer, Technik, HTML, WordPress, Java, Anwendungsentwicklung, CMS, development, PHP, Technologie, Developing, Woocommerce, Spiele und Gaming

Meistgelesene Beiträge zum Thema PHP