Entwickler-Ecke
Alle Sprachen - Alle Plattformen - PHP kompilieren geht nicht...
tomycat - Sa 22.05.21 18:39
Titel: PHP kompilieren geht nicht...
hallo,
ich etwas proggen, dazu will ich die sdk von php einsetzen.
Die Anleitung...
https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
Visual Studio 19 ist installiert, die sdk habe ich über git geholt. den neusten php Quellcode per Firefox.
Command
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| C:\php-sdk>phpsdk-vs16-x64.bat [vcvarsall.bat] Environment initialized for: 'x64' PHP SDK 2.2.1-dev
OS architecture: 64-bit Build architecture: 64-bit Visual C++: 14.28.29914.0 PHP-SDK path: C:\php-sdk
C:\php-sdk $ phpsdk_buildtree phpdev C:\php-sdk\phpdev\vs16\x64 $ cd php-7.4.19-src
C:\php-sdk\phpdev\vs16\x64\php-7.4.19-src $ phpsdk_deps -u
Fatal error: Uncaught SDK\Exception: The passed CRT 'vs16' doesn't match any available for branch '7.4' in C:\php-sdk\lib\php\libsdk\SDK\Config.php:287 Stack trace: #0 C:\php-sdk\bin\phpsdk_deps.php(134): SDK\Config::getCurrentBranchData() #1 {main} thrown in C:\php-sdk\lib\php\libsdk\SDK\Config.php on line 287
C:\php-sdk\phpdev\vs16\x64\php-7.4.19-src $ |
Moderiert von Th69: Code-Tags hinzugefügt
jaenicke - Sa 22.05.21 22:53
tomycat hat folgendes geschrieben : |
ich etwas proggen, dazu will ich die sdk von php einsetzen. |
Was hast du denn vor?
Um etwas in PHP zu programmieren musst du ja PHP nicht gleich selbst kompilieren.
Das passt nicht zusammen...
tomycat hat folgendes geschrieben : |
Visual Studio 19 ist installiert
[..]
The passed CRT 'vs16' doesn't match any available for branch '7.4' |
Meinst du Visual Studio 2019?
Das ist laut der von dir verlinkten Seite nur für den Branch master geeignet und nicht für den Branch 7.4, den du offenbar verwendest.
tomycat - So 23.05.21 18:22
jaenicke hat folgendes geschrieben : |
tomycat hat folgendes geschrieben : | ich etwas proggen, dazu will ich die sdk von php einsetzen. | Was hast du denn vor?
Um etwas in PHP zu programmieren musst du ja PHP nicht gleich selbst kompilieren.
|
ja das stimmt. Nein, ich will was in C Programmieren und testen. :-)
jaenicke hat folgendes geschrieben : |
tomycat hat folgendes geschrieben : | ich etwas proggen, dazu will ich die sdk von php einsetzen. |
Das passt nicht zusammen...
tomycat hat folgendes geschrieben : | Visual Studio 19 ist installiert
[..]
The passed CRT 'vs16' doesn't match any available for branch '7.4' | Meinst du Visual Studio 2019?
|
hmmmm, ich habe definitiv VS 19 installiert.
jaenicke hat folgendes geschrieben : |
tomycat hat folgendes geschrieben : | ich etwas proggen, dazu will ich die sdk von php einsetzen. |
Das ist laut der von dir verlinkten Seite nur für den Branch master geeignet und nicht für den Branch 7.4, den du offenbar verwendest. |
Kannst du mir das mit dem Branch in 2 bis 3 Sätze Erklären ?!
Ich habe habe jetzt den Quellcode von php mit Git geholt und die Schritte wiederholt (inkl --enable-debug), lief alles gut durch. :-)
Laut Readme sdk soll ich ...
Quelltext
1:
| nmake test TESTS=ext/myext/tests/sometest.phpt DEBUGGER=1 |
.. ausführen.
Es öffnet sich VS, so bald ich debug anklicke kommt: Datei nicht gefunden. -> ext/myext/tests/sometest.phpt
Wieso / und kein \ ?!
Diese Datei ist 100% verfügbar,mein hello Welt, wird aber auch nicht gefunden ?!
Quelltext
1: 2:
| $ nmake test TESTS=c:/php-sdk/test.php DEBUGGER=1 $ nmake test TESTS=c:\php-sdk\test.php DEBUGGER=1 |
Moderiert von Th69: Code-Tags hinzugefügt
jaenicke - Mo 24.05.21 00:10
tomycat hat folgendes geschrieben : |
ja das stimmt. Nein, ich will was in C Programmieren und testen. :-) |
Da bringen dir PHP oder das PHP SDK aber null Komma null etwas...
Um das zu verwenden, musst du auch in PHP programmieren. Du kannst mit C++ Änderungen an PHP selbst vornehmen, aber das dürfte aktuell, ohne dir zu nahe treten zu wollen, deutlich außerhalb deiner Fähigkeiten liegen.
tomycat hat folgendes geschrieben : |
hmmmm, ich habe definitiv VS 19 installiert. |
Das gibt es aber nicht, siehe:
https://visualstudio.microsoft.com/de/vs/
Die aktuelle Version ist Visual Studio 2019.
tomycat hat folgendes geschrieben : |
Kannst du mir das mit dem Branch in 2 bis 3 Sätze Erklären ?! |
Branches sind Entwicklungszweige im Quelltext. In Branch 7.4 liegt der Quelltext für PHP 7.4, im Branch master die folgende (in Entwicklung befindliche) Version.
Du musst daher zum entsprechenden Branch wechseln um die jeweilige Version zu kompilieren. Mit Visual Studio 2019 kannst laut Doku nur den Branch master kompilieren.
Palladin007 - Mo 24.05.21 01:06
Zitat: |
Das gibt es aber nicht, siehe:
visualstudio.microsoft.com/de/vs/
Die aktuelle Version ist Visual Studio 2019.
|
Ich glaube das ist ein Missverständnis.
"Visual Studio 2019" ist der Marketing-Name, "16" ist die eigentliche Versionsnummer.
Ergo: Visual Studio 2019 = VS 16
tomycat - Mo 24.05.21 13:01
ok, vielleicht habe ich mich falsch ausgedrückt.
Ich habe direkt vom Microsoft das Visual Studio 19 von 1 oder 2 Wochen heruntergeladen.
Wenn ich es richtig verstanden habe, ist Visual Studio 19 = VS 19 = Version Nummer 16. Richtig?
Auf jeden Fall habe ich mit Git die Neuste SDK heruntergeladen und den neusten Quellcode für php8.
Meine Frage ist jetzt warum er die sometest.phpt nicht findet, obwohl ich sie hinkopiert habe.
Quelltext
1:
| nmake test TESTS=ext/myext/tests/sometest.phpt DEBUGGER=1 |
@jaenicke
Du hast mich richtig verstanden. Ich weis, dass es ein sehr sehr langer harter Weg ist.
Ein Teil wird in php programmiert und ein anderer Teil in C.
Moderiert von Th69: Code-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!