ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° php ΠΊΠΎΠ΄Π° Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ°ΠΊ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² PHP ΠΊΠΎΠ΄Π΅?
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΉ, ΠΊΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π‘ΠΈΠΆΡ, Π³Π°Π΄Π°Ρ: ΡΡΠΎ ΠΈ Π³Π΄Π΅ Π½Π΅ ΡΠ°ΠΊ?
Π ΠΈΡΠΎΠ³Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ΅Π»ΠΊΠ°Ρ, Π΄ΡΡΠ°ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ°, ΠΎΡΠΈΠ±ΠΊΠ° Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΡΠ°ΠΊ Π½Π΅ ΡΡΠ°Π½Π΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅ΡΡΠ½Π΄Π΅ Π±Π΅Π³Π°ΡΡ ΠΏΠΎ ΡΠ΅ΡΡΡΡΠ°ΠΌ. Π Ρ Ρ ΠΎΡΡ ΠΈΠΌ Π±ΡΡΡ.
ΠΠΎΠΏΡΠΎΡ: ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² PHP ΠΊΠΎΠ΄Π΅? ΠΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΏΡΡΠΈ ΠΈ ΠΏΡ.?
6 ΠΎΡΠ²Π΅ΡΠΎΠ² 6
ΠΡΠ΅ΡΠ° Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ / ΠΠΎΠ΄ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ
Debugging (ΠΡΠ»Π°Π΄ΠΊΠ°)
Π ΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ? Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅?
ΠΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π² ΡΡΠ½ΠΊΡΠΈΡΡ , Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΠ°; ΠΈΡΠ΅ΠΌ ΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ.
ΠΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Ρ PHPStorm, Π½ΠΎ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ IDE.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π² PHP ΠΈΠΌΠ΅Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ xdebug. ΠΡΠ»ΠΈ Π΅Ρ Π΅ΡΠ΅ Π½Π΅Ρ, ΡΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π½Π° xdebug.org.
ΠΠ°Π»Π΅Π΅ Π² php.ini ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ.
Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add new local server
ΠΠ°ΠΏΡΡΠΊ
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ.ΠΊ. ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π·Ρ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠΎ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Debug β ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ «Π·Π°ΠΌΠΎΡΠΎΠ·ΠΈΡΡΡ» Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΆΠ΅ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΠ΅. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΊΠΎΠ΄Π° (ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° POST-Π·Π°ΠΏΡΠΎΡΠ° Ρ ΡΠΎΡΠΌΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ).
ΠΡΠΎΡΠ΅ΡΡ
ΠΠ»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΡΠΌ. ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π·Π΅Π»Π΅Π½ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ) ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ (ΡΠΌ. ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ΅, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ).
Show Execution Point ( Alt+F10 ) β ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΈ ΡΠ΅ΠΊΡΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ, ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ , Π° ΠΏΠΎΡΠΎΠΌ Π·Π°Π±ΡΠ»ΠΈ Π³Π΄Π΅ Ρ Π²Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° π
Step Over ( F8 ) β Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π³, Π½Π΅ Π·Π°Ρ ΠΎΠ΄Ρ Π²Π½ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’.Π΅. Π΅ΡΠ»ΠΈ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π»ΠΈΠ½ΠΈΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ ΠΏΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ Π²Π½ΡΡΡΡ Π½Π΅Ρ.
Step Into ( F7 ) β Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π³. ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ), ΡΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΡ Π½Π΅Ρ.
Step Out ( Shift+F8 ) β Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£Π΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΠΎΡΠ»ΠΈ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΡΠΉΡΠΈ, Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ»Π°Π΄ΠΊΡ.
Rerun ( Ctrl+F5 ) β ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ.
Resume Program( F9 ) β ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°, ΡΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. Π ΠΈΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
Stop ( Ctrl+F2 ) β Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ.
View Breakpoints ( Ctrl+Shift+F8 ) β ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΠΎΠ².
Mute Breakpoints β ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΡΠ΅ΠΉΠΊΠΏΠΎΠΉΠ½ΡΡ.
ΠΡΠ°ΠΊ, Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π²ΠΈΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ F8 ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠΎΠΊΠΈ 11, 12 ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, 15.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ² Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ, Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ).
ΠΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² PHP, ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΈ Π»ΠΎΠ²Π»Ρ Π½Π° ΠΆΠΈΠ²ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΄ΠΎΡΡΠΏΠ°Π½ΠΈΡ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ: 2016-11-23
ΠΡ Π°Π²ΡΠΎΡΠ°: Ρ ΠΎΠΏΡΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π΅ Π²ΡΡΠΏΠ°Π»ΡΡ! ΠΡΠ΅ΡΠ° ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π» ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠ΅, Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠ°Ρ ΠΆΡΠΆΠΆΠ°Π» ΠΏΠΎΠ΄ ΡΡ ΠΎΠΌ Π²ΡΡ Π½ΠΎΡΡ. Π ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π½Π°ΡΠ΅ΠΊΠΎΠΌΠΎΠ΅ ΡΡΠΎΠ΄Π½ΠΈ ΡΠΎΠΌΡ Π±Π°Π³Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΡΠΎΡΠ»ΠΎΠΉ Π½ΠΎΡΡΡ Π΅Π»Π΅ Π½Π°ΡΠ΅Π». Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ (ΡΠ°Π· ΡΠΆ ΠΌΠ½Π΅ Π½Π΅ ΡΠΏΠΈΡΡΡ) ΡΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΊΠΎΠ΄Π°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² PHP.
ΠΡΠ»ΠΈ ΠΈΡ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ
ΠΡΠΈΡΠΈΠ½, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ:
ΠΡ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Ρ ΠΎΡΡΠ΅ΡΠΎΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ β ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ½ Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°. Π Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π£ΠΌΠ΅Π»ΡΠΉ Ρ Π°ΠΊΠ΅Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ Π²Π·Π»ΠΎΠΌΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π΅, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ MySQL. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π»ΠΎΠ³ΠΈΠ½ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π‘Π£ΠΠ.
Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ΄ΡΠ° ΡΠ·ΡΠΊΠ°.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ²ΠΎΠΉΡΠ΅ ΠΊΡΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Π½Π° PHP ΠΈ MySQL Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ MVC
Π ΠΊΡΡΡΠ΅ 39 ΡΡΠΎΠΊΠΎΠ² | 15 ΡΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ | ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°
ΠΡΠ΅ ΡΡΠΈ Β«ΡΠ°ΡΡΠ½ΡΠ΅Β» ΡΠ»ΡΡΠ°ΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ². ΠΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΠ΅Π½Π²Π΅Ρ, ΡΠΎ Ρ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² Π½Π΅ΠΌ.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠ΄Π΅ PHP, ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π΅Π΅ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΡΠΎΠ³Π΄Π° ΠΏΡΡΠΌΠ°Ρ Π΄ΠΎΡΠΎΠ³Π° Π² php.ini.ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
ΠΠ°Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Error handling and loggingΒ».
ΠΠΎΠ³ΠΎΠ² Π½Π΅Ρ!
ΠΠ°ΠΊ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Ρ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π°Ρ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ Π±Π°Π³ΠΎΠ² Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½. ΠΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ°ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Ρ Π»ΠΎΠ³ΠΎΠ².
Π ΠΠ΅Π½Π²Π΅ΡΠ΅ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π°. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΎΠΏΠΈΡΠ°Π² Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ (Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅).
Π‘Π½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠΉΡΠ΅ php.ini ΠΈ Π²Π½Π΅ΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΡΡΠΎΠΊΠΈ. Π’ΠΎΡΠ½Π΅Π΅, ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ, Π½ΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² (log_errors ΠΈ error_log) ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°Ρ . Π ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Π»ΠΎΠ³ΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ PHP ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ΄Π° Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ²ΠΎΠΉΡΠ΅ ΠΊΡΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Π½Π° PHP ΠΈ MySQL Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ MVC
Π ΠΊΡΡΡΠ΅ 39 ΡΡΠΎΠΊΠΎΠ² | 15 ΡΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ | ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π²ΡΡΠ»ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΡ Π² ΠΊΠΎΠ΄Π΅: Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PHP.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π° Π·Π° 5 ΠΌΠΈΠ½ΡΡ
ΠΠ°Π½Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° code style Π² Π²Π°ΡΠ΅ΠΌ php ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
Π¨Π°Π³ 1 β ΠΠ΅Π»Π°Π΅ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ composer (Ρ ΠΊΠΎΠ³ΠΎ ΠΎΠ½ ΡΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½, ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ)
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΡΠ½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ composer, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ getcomposer.org
Π¨Π°Π³ 3 β ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π¨Π°Π³ 4 β ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ ΡΠΊΠ°
Π‘Π°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° ΡΠ΅ΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΡΡ ΠΏΡΠΎ php ΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π½Π΅ΠΌ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ 3 ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ:
β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
β ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° PSR2 ΡΠ΅ΡΠ΅Π· code sniffer
PSR2 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ code sniffer. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π²Π΅Π΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π¨Π°Π³ 5 β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ composer Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° pre-commit
5.1 Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΈΠΊ pre-commit.php Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠΊΠΎΠ² Π³ΠΈΡΠ°
5.2 ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ composer ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Π² composer.json Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ΅ΠΊΡΠΈΡ
pre-update-cmd, pre-install-cmd β ΠΏΠ΅ΡΠ΅Π΄ install ΠΈ update ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ
post-install-cmd, post-update-cmd β ΠΏΠΎΡΠ»Π΅ install ΠΈ update Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° pre commit
Π ΠΈΡΠΎΠ³Π΅ ΡΠ°ΠΉΠ»ΠΊΠΈΠΊ composer.json ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅ΡΠ΅ ΡΠ°Π· composer install ΡΡΠΎΠ±Ρ ΡΠ°ΠΉΠ»ΠΈΠΊ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΊΡΠ΄Π° Π½Π°Π΄ΠΎ.
ΠΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΊΠΎΠΌΠΈΡΠΈΡΡ ΠΊΠΎΠ΄ Ρ ΠΊΡΠΈΠ²ΡΠΌ code style ΡΠΎ git console Π²Π°ΠΌ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΊΠ°ΠΆΠ΅Ρ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ src ΡΠ°ΠΉΠ»ΠΈΠΊ MyClass.php ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π΅Π½ΠΈΠ΅ΠΌ.
ΠΡΡΠ°Π΅ΠΌΡΡ Π·Π°ΠΊΠΎΠΌΠΈΡΠΈΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π°.
ΠΠΎΡΡΠΎΠ²ΠΎΠΉ ΠΆΡΡΠ½Π°Π»
ΠΠΎΠ»Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ. ΠΠ΅Π· ΠΏΡΠΎΠΈΡΡΠ΅ΡΡΠ²ΠΈΠΉ.
ΠΡΠΈΠ±ΠΊΠΈ PHP: ΠΊΠ°ΠΊ Π²ΡΡΠ²ΠΈΡΡ ΠΈ ΡΡΠΎ Ρ Π½ΠΈΠΌΠΈ Π΄Π΅Π»Π°ΡΡ?
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ°ΠΉΡ Π½Π° PHP, Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ, Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ, ΠΎΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ°ΠΉΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ), Π΄ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ°ΠΉΡΠ° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ. ΠΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ PHP ΠΈ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Ρ Π½Π΅ΠΉ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅?
ΠΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ ΡΠ΅ΡΠΈΡΡ Π΅Π΅), Π° Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΡΠΎΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. Π‘Π°ΠΌΡΠ΅ ΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ PHP, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π»ΠΈΠΌΠΈΡΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
ΠΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ PHP Π½Π° ΡΠ°ΠΉΡΠ΅
1. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ (Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ βΠΏΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡβ), ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°. Π ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ Β«ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Β» Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π½ΠΎ ΡΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Google Chrome ΡΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Dev Tools (ΠΈΠ»ΠΈ Β«ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Β»). Π Mozilla Firefox β ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Firebug (Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π² ΠΌΠ΅Π½Ρ Adds On) ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Developer.
ΠΠ½ΡΡΡΠΈ Β«ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Β» Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Network (ΠΈΠ»ΠΈ Net, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ).
ΠΡΠ»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΡΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, Π² ΡΡΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° 500 (βInternal Server Errorβ).
2. ΠΡΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² Π±ΡΠ°ΡΠ·Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½
ΠΡΠ»ΠΈ ΡΠ°ΠΉΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, CMS WordPress, ΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π² ΡΠ°ΠΉΠ»Π΅ wp-config.php:
3. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΆΡΡΠ½Π°Π»Π° ΠΎΡΠΈΠ±ΠΎΠΊ PHP
php_value error_log /home/login/domains/domain.ru/log/errors.log
ΠΠ΄Π΅ΡΡ /home/login/domains/domain.ru/log/errors.log β ΡΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ PHP (Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Π° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅Ρ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ).
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΉΠ΄Π΅ΠΌ Π½Π° ΡΠ°ΠΉΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ (Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ), ΡΠΎ Π² errors.log Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
.
ΠΡΡΠ½Π°Π» ΠΎΡΠΈΠ±ΠΎΠΊ PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π² ΠΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΎΡΠΊΡΡΠ² ΡΠ°ΠΉΠ» errors.log:
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ βΠΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅β. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΆΡΡΠ½Π°Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π Π°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ PHP
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ΄Π΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
Fatal error: Call to undefined function weblizar_get_options() in /home/login/domains/domain.ru/public_html/wp-content/themes/enigma/header.php on line 14
βΠΡΠ·ΠΎΠ² Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ weblizar_get_options() Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ΅ΠΌΡ enigmaβ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΊΠΈ PHP
Π£ΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ PHP ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° 4 ΡΡΠΎΠ²Π½Ρ:
Parse Error
ΠΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ PHP Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ). Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ Π½Π° ΡΠ°ΠΉΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?
1. ΠΡΠ»ΠΈ Π²Ρ ΠΠ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ Π² PHP, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΡ ΡΠ°Π±ΠΎΡΠ°Π» Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
2. ΠΡΠ»ΠΈ Π²Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²Π½ΠΎΡΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΊΠΈ Π² ΠΊΠΎΠ΄ ΡΠ°ΠΉΡΠ°, Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅. ΠΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅ ΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ½ΠΊΡΠΎΠΌ 1.
Fatal Error ΠΈ Warning
ΠΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΡΠΊΡΡΡΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ»). Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ 2-ΡΠΌ ΠΈ 3-ΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ βΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈβ (FATAL ERROR) Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, Π° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ βΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡβ (WARNING) β Π½Π΅Ρ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
Notice
Π ΡΡΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ βΠ·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡβ, ΡΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?
ΠΡΠ»ΠΈ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
Π§Π°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ PHP ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
Fatal Error: Allowed Memory
ΠΠΌΠ΅ΡΡΠΎ 128M ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ» Β«MΒ» (Π»Π°ΡΠΈΠ½ΡΠΊΠ°Ρ M) ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ»ΠΈΡΠ½ΠΎ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² PHP, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΠ΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠΌ ΡΠ°ΡΠΈΡΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ°ΡΠΈΡΠ°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΡΡΠΎ 512 ΠΠ±, ΠΏΡΠ΅ΠΌΠΈΡΠΌ β 1024 ΠΠ±). Π£ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠ²Π½ΠΎ.
Fatal Error: Out of memory
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, Ρ ΡΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ, ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π»ΠΈΠΌΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΉ βΡΠ½Π°ΡΡΠΆΠΈβ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ βΠΠ°ΠΌΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡ, ΠΠ±, Π½Π΅ Π±ΠΎΠ»Π΅Π΅β Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π»ΠΈΠ±ΠΎ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π° ΡΠ°ΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΌΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ»ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΡ Π΄Π°Π½Π½ΡΡ , Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠΏΠΈΡΠ°Π΅ΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ Π»ΠΈΠΌΠΈΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°ΡΡΡΠΌΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΡ PHP, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Ρ Π²Π°Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ.
Unable to allocate memory for pool
Π‘Π°ΠΉΡΠ°ΠΌ Π½Π° Π°ΠΊΠΊΠ°ΡΠ½ΡΠ΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΠ°ΡΠΈΡΠ½ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ² PHP.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π² ΠΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠΌ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌΒ».
php_value apc.cache_by_default off
ΠΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΡΡΠ°Π²Π»ΡΡΡ APC Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΌ ΠΈΠ· Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡΠΎΠ² β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½Π΅ΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠ°, Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΡ , ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΡΠΎΠ².
Π ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π΅Π³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
ΠΡ ΠΏΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° PHP. ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄?
PHP β ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π΅ΠΉΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΠΈΠ΄ΠΈΡΡΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΡΠ΅Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ web-ΡΠ°ΠΉΡΠΎΠ². ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΠ΄Π° PHP. Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΡ β Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡ (validators). ΠΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄Β» Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°Π²ΠΈΡΡ Β«CheckΒ». Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π³Π°Π»ΠΎΡΠΊΠΎΠΉ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΡ/Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»Π° Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ β https://phpcodechecker.com/. ΠΠ½ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ Π½Π°ΠΉΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΊΠΎΠ΄Π΅. ΠΠ°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ΄ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ, ΠΏΠ»ΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΡΡΠΎΠΊΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ (Π²Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°). ΠΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ PHP?
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡΡ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π°ΡΠ΄ΠΎΠΌΠ΅Π½/phpinfo.php. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Π΅ΡΡΠΈΡ PHP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π»ΠΈΠ±ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, Ρ. ΠΊ. ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΎΠ±ΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΡΠΈ ΡΠ³ΡΠΎΠ·Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ PHP ΠΊΠΎΠ΄ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡ. ΠΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΠΈ ΡΠ·Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ PHP Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π£Π·Π½Π°ΠΉΡΠ΅, ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ Π»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄! ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ !