php 5.6 થી 7. લોગબુકમાં સંક્રમણ. તે વધુ સુરક્ષિત અને સપોર્ટેડ છે


શું CMS જુમલા માટે PHP 7 પર સ્વિચ કરવું જરૂરી છે

જુમલાથી શરૂ! 3.5 ઘણા ઉપયોગી ઉમેરણો સાથે આવ્યું છે, પરંતુ સૌથી મહત્વપૂર્ણ ફેરફાર એ કંઈક હતું જે સરેરાશ વપરાશકર્તા તરત જ નોંધશે નહીં. અને અમે, અલબત્ત, PHP 7 ને સમર્થન આપવાની સંભાવના વિશે વાત કરી રહ્યા છીએ.

એડમિન એરિયામાં લૉગ ઇન કરતી વખતે, એક ચેતવણી દેખાય છે: તમારું PHP, 5.6.29 સંસ્કરણ, હાલમાં ફક્ત PHP પ્રોજેક્ટમાંથી સુરક્ષા સુધારાઓ મેળવે છે. આનો અર્થ એ છે કે PHP નું તમારું સંસ્કરણ ટૂંક સમયમાં સમર્થિત રહેશે નહીં. અમે ભલામણ કરીએ છીએ કે તમે 12/31/18 ના રોજ સમર્થન સમાપ્ત થાય તે પહેલાં PHP ના નવા સંસ્કરણ પર અપગ્રેડ કરવાની યોજના બનાવો. જો તમે PHP (PHP 7.x ભલામણ કરેલ) ના નવા સંસ્કરણ પર અપડેટ કરો તો જુમલા ઝડપી અને વધુ સુરક્ષિત રહેશે. અપડેટ સૂચનાઓ માટે કૃપા કરીને તમારા હોસ્ટિંગ પ્રદાતાનો સંપર્ક કરો.

ચાલો તેને આકૃતિ કરવાનો પ્રયાસ કરીએ.

જો તમે એડમિન પેનલમાં આ ચેતવણીથી જ મૂંઝવણમાં છો, તો પછી તમે આગળ વાંચી શકતા નથી, પરંતુ ફક્ત પ્લગઇન મેનેજર - PHP વર્ઝન ડિટેક્શન પ્લગઇન દ્વારા તેને અક્ષમ કરો. આ સાઇટના પ્રદર્શનને કોઈપણ રીતે અસર કરશે નહીં, અને હેરાન કરતી સૂચના (ઉપરનું ચિત્ર) અદૃશ્ય થઈ જશે.

PHP 7 ને ઓછો અંદાજ ન કરવો જોઈએ. તેની મદદથી, તમે બાઉન્સ રેટ અને ક્રેશ ઘટાડી શકો છો, પેજ લોડિંગ સ્પીડ વધારી શકો છો અને તમારા કામને વધુ મોબાઈલ-ફ્રેન્ડલી બનાવી શકો છો.

જો તમે PHP 7 નો ઉપયોગ કરવાના સિદ્ધાંત અને ફાયદા વિશેના લેખો પહેલાથી જ વાંચ્યા છે, તો પછી તમે કદાચ જાણતા હશો કે, વિકાસકર્તાઓ અનુસાર, CMS માં આ ભાષાનો પરિચય તેમની ઉત્પાદકતામાં નોંધપાત્ર વધારો કરે છે. જો કે, આની સીધી જુમલાને કેવી અસર થઈ? આ મુદ્દા પર આ લેખમાં ચર્ચા કરવામાં આવશે.

PHP 7 મુખ્યત્વે તેની કામગીરી અને ઓછી મેમરી વપરાશ માટે પ્રખ્યાત છે. ડેવલપર્સ અને બ્લોગર્સ દાવો કરે છે કે કોડ php5.6 ની સરખામણીમાં લગભગ બમણી ઝડપે ચાલે છે.

પરંતુ PHP7 ની મુખ્ય સમસ્યા એ છે કે તે PHP5.6 સાથે પાછળની તરફ સુસંગત નથી. તે. વિકાસકર્તાઓ ખાતરી આપતા નથી કે તમારો જૂનો કોડ PHP ના નવા સંસ્કરણમાં કામ કરશે.

PHP 7 નું અપડેટેડ વર્ઝન એ PHP માટે સૌથી નોંધપાત્ર ઘટના અને મહત્વપૂર્ણ ફેરફાર બની ગયું છે, જે વર્ઝન PHP 5 થી શરૂ થાય છે, જે રીતે, વપરાશકર્તાઓ તરફથી ઘણી ખામીઓ અને ફરિયાદો હતી. PHP ડેવલપમેન્ટ ટીમ આ અપડેટ કરેલ ઉત્પાદનમાં નોંધપાત્ર પ્રગતિનો દાવો કરે છે: પ્રદર્શન બમણું થયું છે, અને મેમરી વપરાશમાં પણ અગાઉના સંસ્કરણની તુલનામાં 50% ઘટાડો થયો છે. ત્યાં નવા કાર્યો પણ છે: ખામીયુક્ત ભૂલોને અપવાદોમાં રૂપાંતરિત કરવી, વર્ગો અને ઓપરેટરો ઉમેરવા. જો કે, જુમલા સીએમએસ વપરાશકર્તાઓ માટે કેટલાક ખરાબ સમાચાર છે.

જુમલા 3 (3.5 સુધી) અને જુમલા 2.5 અને 1.5 લાઇનના જૂના સંસ્કરણો PHP7 ને સપોર્ટ કરતા નથી.

જુમલા અને php7 ના વિવિધ પ્રદર્શન સૂચકાંકોનું મૂલ્યાંકન કરવા માટે ઘણા પરીક્ષણો હાથ ધરવામાં આવ્યા છે, ઉદાહરણ તરીકે https://www.gavick.com/blog/joomla-php-7-speedtest https://habr.com/company/mailru/blog /350686/

તે તમામ કામગીરીમાં 45-50% વધારો અને સર્વર લોડમાં ઘટાડો સૂચવે છે, જે ભારે અને ભારે ટ્રાફિકવાળી સાઇટ્સ માટે મહત્વપૂર્ણ છે.

સંશોધન પરિણામો બતાવે છે તેમ, જુમલા!ના નવીનતમ પ્રકાશનમાં PHP 7 સપોર્ટનો પરિચય. ઉપલબ્ધ સૌથી મોટો સુધારો છે, જે સરળ સુવિધા અપડેટ કરતાં ઘણું વધારે ઓફર કરે છે.

જ્યારે તે એવી વસ્તુ નથી કે જે તમે પ્રથમ નજરમાં આવશ્યકપણે નોંધશો, હકીકત એ છે કે લોડિંગ ઝડપ એ તમારી સાઇટ, બાઉન્સ રેટ અને મેમરી વપરાશમાં સુધારો એ મોટી સંખ્યામાં મુલાકાતીઓ અને પૃષ્ઠ દૃશ્યો ધરાવતી સાઇટ્સ માટે મહત્વપૂર્ણ પરિબળ છે. પૃષ્ઠ દીઠ 40% ઓછી મેમરી - તે ખરેખર ઘણું છે! આ બધાને ધ્યાનમાં લેતા, એક જ પ્રશ્ન છે કે હવે શા માટે અપગ્રેડ નથી?

દેખીતી રીતે, ઝડપ અને મેમરી સુધારણા એ ખૂબ જ આકર્ષક વિકલ્પો છે જેનો તમે શક્ય તેટલી ઝડપથી લાભ લેવા માંગો છો. જો કે, આ કિસ્સામાં ઉતાવળ ન કરવી તે વધુ સારું છે, પરંતુ બધું સમજી વિચારીને કરવું. છેવટે, મોટે ભાગે તમારી સાઇટ જુમલાનાં પહેલાનાં વર્ઝનનો ઉપયોગ કરીને ઇન્સ્ટોલ થઈ હોય! અને PHP. અને હકીકત એ છે કે જુમલા! 3.5 અને ઉચ્ચ PHP 7 ના નવીનતમ પ્રકાશન સાથે સુસંગત છે તૃતીય પક્ષ એક્સ્ટેન્શન્સમાં સુસંગતતાની ખાતરી આપતું નથીતમારી સાઇટ પર પહેલેથી જ ઇન્સ્ટોલ કરેલ છે. તેથી, તમે PHP ના અપડેટ કરેલ સંસ્કરણને ઇન્સ્ટોલ કરવાનું શરૂ કરો તે પહેલાં, તે જુમલાને નવીનતમ સંસ્કરણ પર અપડેટ કરવા અને તમારી સાઇટ પર ઇન્સ્ટોલ કરેલા એક્સ્ટેંશનની સુસંગતતા તપાસવા યોગ્ય છે. તમારું હોસ્ટિંગ PHP 7 સાથે સુસંગત છે કે કેમ તે પણ તપાસવાનું ભૂલશો નહીં. જો નહીં, તો કદાચ અન્ય આધુનિક હોસ્ટરને શોધવાનો સમય આવી ગયો છે જે તમને PHP ના નવા સંસ્કરણના તમામ લાભોનો લાભ લેવાની મંજૂરી આપશે.

હું એક સરળ અભિગમનો ઉપયોગ કરું છું - જો એક્સ્ટેંશન આ વર્ષે અપડેટ કરવામાં આવ્યું છે (અને એક કરતા વધુ વખત) - તો તે php7 સાથે સુસંગત હોવાની સંભાવના વધારે છે. પણ આ હકીકત નથી! તમારે તમારા એક્સ્ટેંશનના વિકાસકર્તાઓની વેબસાઇટ્સ પર જવાની અને ત્યાં જોવાની જરૂર છે. અપ્રશિક્ષિત સામાન્ય વપરાશકર્તાઓ માટે પણ સમસ્યા છે. મોટે ભાગે, તમારા એક્સ્ટેંશન ટેમ્પ્લેટ્સ બદલાયા છે અથવા તે તમારા માટે કસ્ટમાઇઝ કરવામાં આવ્યા છે, એક્સ્ટેંશન ટેમ્પલેટ હંમેશા સાઇટ ટેમ્પલેટ ફોલ્ડરમાં મૂકવામાં આવતું નથી. ટોચ પર એક્સ્ટેંશન અપડેટ કરતી વખતે, ડિઝાઇન વિકૃત થઈ શકે છે. તમારે એક્સ્ટેંશન ટેમ્પલેટ્સને યોગ્ય જગ્યાએ - તમારી સાઇટ ટેમ્પલેટનું html ફોલ્ડર ખસેડવું પડશે. તેથી, બધું હંમેશા ડેટાબેઝના આર્કાઇવ્સ અને બધી ફાઇલો સાથે થવું જોઈએ !!!

જો તમારી પાસે ડોમેન (ઉદાહરણ તરીકે, ઓનલાઈન સ્ટોર માટે) માટે કોઈપણ પેઈડ એક્સ્ટેંશન હોય, તો એવી સંભાવના છે કે તે IonCube, Opcache અથવા જૂના Zend Optimizer માટે php ના ચોક્કસ વર્ઝન માટે હોસ્ટિંગ માટે કમ્પાઈલ કરવામાં આવ્યા છે અને નહીં. કામ તમારે આવા એક્સ્ટેંશનના ડેવલપર પાસેથી php7 માટે અપડેટ બહાર પાડવામાં આવ્યું છે કે કેમ તે શોધવાની જરૂર છે અને તેને ડાઉનલોડ કરો. સદભાગ્યે, નિયમિત વેબસાઇટ્સ માટે આ સામાન્ય પરિસ્થિતિ નથી, પરંતુ તે ઑનલાઇન સ્ટોર્સમાં થાય છે, જ્યાં પેઇડ એક્સ્ટેંશન ઘણીવાર ખરીદવામાં આવે છે. ઉદાહરણ તરીકે, https://joomshopping.pro/ ના આ વિકાસકર્તાએ બધું જ છોડી દીધું છે, php7 માટે એક્સ્ટેંશન અપડેટ કરતું નથી, અને કોઈને પ્રતિસાદ આપતો નથી. અને આ થાય છે. તમારે આવા એક્સ્ટેન્શન્સ માટે રિપ્લેસમેન્ટ જોવું પડશે અથવા બધું જ તે php5.6 (ભલામણ કરેલ) પર છે તેમ છોડી દેવું પડશે.

સંપૂર્ણ ઓડિટ કરો - તમે શું ઇન્સ્ટોલ કર્યું છે, કયા સંસ્કરણો અને તે php7 સાથે સુસંગત છે કે કેમ.

જો તમે પ્રયોગ માટે તમારા વ્યક્તિગત હોસ્ટિંગ એકાઉન્ટમાં ફક્ત php 7 પર સ્વિચ કરશો તો તમારી સાઇટ પર કંઈપણ ખરાબ થશે નહીં. જો કંઈક થાય તો પાછા સ્વિચ કરો અને બસ. આનાથી ડરવાની જરૂર નથી.

સ્વિચ કર્યા પછી, સાઇટની કાર્યક્ષમતા, બધા એક્સ્ટેન્શન્સ અને સાઇટ એડમિન પેનલ તપાસો. આવશ્યકપણે! સામાન્ય સાઇટ સેટિંગ્સ પર જાઓ અને વિકાસકર્તાને બધી ભૂલો બતાવો સક્ષમ કરો. જો એડમિન પેનલમાં કોઈ ભૂલો નથી, તો તે સારું છે, સાઇટ પર જાઓ. જો તેમાં મોટી સંખ્યામાં હોય, તો પણ ગભરાશો નહીં, ભૂલ કોડ્સને કાળજીપૂર્વક જોવાનો પ્રયાસ કરો. ત્યાં, એક નિયમ તરીકે, ભૂલ પાથ ઘટક (પ્લગઇન, મોડ્યુલ) અને ફાઇલ જેમાં તે થાય છે તે સૂચવે છે. પહેલા આ ઘટકને અપડેટ કરો.

ઘણીવાર ભૂલ પૃષ્ઠનો ઉપયોગ થાય છે, પરંતુ સાઇટ php7 પર સ્વિચ કર્યા પછી લોડ થતી નથી અને તરત જ આ પૃષ્ઠ પ્રદર્શિત કરે છે. પરંતુ તેના પર કોઈ એરર કોડ નથી. આ સ્થિતિમાં, તમારા ટેમ્પલેટ ફોલ્ડરમાં અસ્થાયી રૂપે error.php નું નામ બદલો. પછી સ્ટાન્ડર્ડ એરર પેજ લોડ થશે અને તેમાં પાથ દર્શાવતી લીટી હશે.

જો તમારી પાસે જુમલા 3.8+ હોય તો પણ, તે હકીકત નથી કે php7 પર સ્વિચ કરતી વખતે કંઈપણ તૂટશે નહીં: કેટલાક પ્લગઈન્સ અને ઘટકો હજુ સુધી php7 ને સપોર્ટ કરતા નથી.

અહીં સમસ્યા એ છે કે PHP 7 માં તેઓએ ઓપરેટરોની અરજીનો ક્રમ બદલ્યો (અને માત્ર નહીં):

સ્ત્રોત કોડ:
$foo->$bar["baz"]
સંસ્કરણ php5.6 માં તે આ રીતે સમજાય છે:
$foo->($bar["baz"])
આહ, php7 તેને સંપૂર્ણપણે અલગ રીતે સમજે છે:
($foo->$bar)["baz"]

સૈદ્ધાંતિક રીતે, જો ઘટક તમારા માટે ખૂબ મૂલ્યવાન છે, તો પછી તમે યોગ્ય સ્થાનો પર કૌંસ મૂકીને સમસ્યાને જાતે ઠીક કરી શકો છો: $foo->($bar["baz"]). આ કરવા માટે, જુમલા એડમિન પેનલમાં, તમામ સંભવિત ભૂલોના પ્રદર્શનને સક્ષમ કરો, અને પછી ફાઇલ નામો અને લાઇન નંબર્સનો ઉપયોગ કરીને સંબંધિત સમસ્યાઓ માટે જુઓ.

ઘણી બધી ભૂલો છે. ઉદાહરણ તરીકે: PHP 7.x નો ઉપયોગ કરવા માટે SJ ટેમ્પલેટ્સને અપડેટ કરતી વખતે ભૂલો અને ઉકેલો:

1. ગૂગલ મેપ

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; Plugin_googleMaps લાઇન 385 પર /plugins/system/ytshortcodes/includes/libs/googlemap/googleMaps.lib.php માં નાપસંદ કન્સ્ટ્રક્ટર ધરાવે છે.

શોધો: ફંક્શન Plugin_googleMaps

2. કૂકી લાઇટ ડાયરેક્ટિવ

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; plgSystemEUCookieDirectiveLite લાઇન 37 પર /plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php માં નાપસંદ કન્સ્ટ્રક્ટર ધરાવે છે.

આના પર જાઓ: /plugins/system/EUCookieDirectiveLite/EUCookieDirectiveLite.php

શોધો: ફંક્શન plgSystemEUCookieDirectiveLite

સાથે બદલો: કાર્ય __construct

3. YT ફ્રેમવર્ક પ્રોગ્રામ

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; YtFrameworkTemplate લાઇન 16 પર /plugins/system/yt/includes/site/lib/yt_template.php માં નાપસંદ કન્સ્ટ્રક્ટર ધરાવે છે.

શોધો: YtFrameworkTemplate કાર્ય

સાથે બદલો: કાર્ય __construct

4. YT ફ્રેમવર્ક રેન્ડર XML

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; YtFrameworkRenderXML લાઇન 13 પર /plugins/system/yt/includes/site/lib/yt_renderxml.php માં નાપસંદ કન્સ્ટ્રક્ટર ધરાવે છે.

શોધો: YtFrameworkRenderXML કાર્ય

સાથે બદલો: કાર્ય __construct

5. ફ્રેમ ઑબ્જેક્ટ YT

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; YtObject પાસે લાઇન 13 પર /templates/sj_imag/menusys/ytobject.php માં નાપસંદ કન્સ્ટ્રક્ટર છે

શોધો: YtObject કાર્ય

સાથે બદલો: કાર્ય __construct

6. JW બધા વિડિયો

ભૂલ:
નાપસંદ: તેમના વર્ગના સમાન નામવાળી પદ્ધતિઓ PHP ના ભાવિ સંસ્કરણમાં કન્સ્ટ્રક્ટર હશે નહીં; plgContentJw_allvideos 18 લાઇન પર /plugins/content/jw_allvideos/jw_allvideos.php માં નાપસંદ કન્સ્ટ્રક્ટર ધરાવે છે.

આના પર જાઓ: /plugins/content/jw_allvideos/jw_allvideos.php

શોધો: ફંક્શન plgContentJw_allvideos

સાથે બદલો: કાર્ય __construct

સખત ધોરણોની ભૂલોને મોટાભાગે ગણવામાં આવે છે - લાઇનમાંથી દૂર કરો અને

ત્યાં ઘણી સંભવિત ભૂલો છે, અને જો તમે કંઈપણ સમજી શકતા નથી, તો તેને જેમ છે તેમ છોડી દો, અથવા php7 સાથે સુસંગતતા માટે Joomla અને બધા એક્સ્ટેન્શન્સને અપડેટ કરો અને પછી તેના પર સ્વિચ કરવાનો પ્રયાસ કરો. અથવા નિષ્ણાતોનો સંપર્ક કરો.

તારણો

તમારે હજી પણ નવી સાઇટ્સ, મુલાકાત લીધેલી સાઇટ્સ, મોટા ભારવાળી સાઇટ્સ વગેરે માટે php7 પર સ્વિચ કરવાની જરૂર પડશે. જુમલા 4 માત્ર php7 સાથે કામ કરશે. અને આ સંક્રમણ પીડારહિત રહેશે નહીં: મોટે ભાગે, કંઈક સુધારવાની જરૂર પડશે અથવા કંઈક ત્યજી દેવામાં આવશે. બધું તરત જ કાર્ય કરવા માટે અને એક ભૂલ વિના અસંભવિત છે!

સલાહના ભાગ રૂપે, હું તમને થોડી વધુ રાહ જોવાની સલાહ આપી શકું છું: કદાચ તમારી પાસે ટેમ્પલેટ્સ/કોમ્પોનન્ટ્સ/મોડ્યુલ્સ/પ્લગિન્સના વિકાસકર્તાઓમાંથી એક PHP7 સાથે સુસંગત નવું સંસ્કરણ રિલીઝ કરશે. હવે કેટલાક એક્સ્ટેન્શન્સને php5.6 પર અપડેટ કરી શકાતા નથી - તે કહે છે કે php7 ની જરૂર છે. સંક્રમણ સમય, જેમ આપણે જાણીએ છીએ, મુશ્કેલ છે.

પરંતુ જો તમારી સાઇટ સારી રીતે કામ કરે છે, તો તમે દરેક વસ્તુથી ખુશ છો, તો તમારે આમાંથી કંઈપણ કરવાની જરૂર નથી. તમારે આ અપડેટ રેસની જરૂર નથી, તે ખૂબ જ અપ્રિય અને પીડાદાયક હોઈ શકે છે! શું તમારે તમારી સાઇટ માટે વધારાની સુરક્ષા વિશે વિચારવું જોઈએ?

જો તમે અપડેટ્સ, php સંસ્કરણો, ઇમેઇલ્સ વિશેના આ બધા સંદેશાઓથી નારાજ છો વગેરે - પ્લગઈન મેનેજર પર જાઓ અને પ્લગઈન્સ બંધ કરો - એક્સ્ટેંશન અપડેટ્સની સૂચના, જુમલા અપડેટ્સની સૂચના, php સંસ્કરણ તપાસવું, અપડેટ લેટર્સ (સૂચનો) મોકલવા અને આંકડા પણ. અને શાંતિથી જીવો અને કામ કરો.

લોકો વારંવાર પૂછે છે, "તે કહે છે કે સુરક્ષા php5.6 થી પીડાય છે." વધુ નહીં, અને જો તમારી સાઇટ યોગ્ય રીતે સુરક્ષિત છે (અમારી વિશિષ્ટ સાઇટ પર વાંચો - https://joomlahealth.ru), તો તે જુમલાના જૂના સંસ્કરણો અને php ના જૂના સંસ્કરણો પર સંપૂર્ણ અને સુરક્ષિત રીતે કાર્ય કરશે.

નવી સાઇટ્સ બનાવતી વખતે, તમારે ચોક્કસપણે તે તરત જ PHP7 માં કરવાની જરૂર છે!

નિષ્કર્ષમાં, php 7 અને જુમલા 4 સંબંધિત સત્તાવાર જુમલા વેબસાઇટ પરથી અવતરણોના કેટલાક અનુવાદો:

આવતા વર્ષે જુમલા 4 ની સંભાવના સાથે, અમે PHP 7 પર અપગ્રેડ કરવાની જરૂરિયાત અંગે જાગૃતિ લાવવા માંગીએ છીએ.
જુમલા 4 ને ચલાવવા માટે PHP 7 ની જરૂર પડશે. મોટાભાગના હોસ્ટર્સ પહેલાથી જ તેમના પેકેજોમાં PHP 7 ઓફર કરે છે અને તમારા માટે PHP સંસ્કરણ બદલવું એકદમ સરળ હશે.

તમારે શા માટે PHP અપડેટ કરવાની જરૂર છે તેના કારણો:

PHP 7 વધુ સારું છે

PHP 7 માં ખરેખર પ્રદર્શન સુધારણાઓ છે જે તમારી સાઇટને બમણી ઝડપી બનાવશે (PHP 5+ ની સરખામણીમાં) અને 50% ઓછી મેમરીનો વપરાશ કરશે. PHP 7 પણ વધુ સુરક્ષિત છે અને તમને વિકાસકર્તા તરીકે વધુ કરવા દે છે.

જુમલા 4માં વપરાશકર્તાઓ અને વિકાસકર્તાઓ બંને માટે મોટા સુધારાઓ હશે. નિશ્ચિત કોડ, અપડેટેડ ફ્રેમવર્ક, મહાન નવી સુવિધાઓ અને ઘણું બધું. બુટસ્ટ્રેપ 4 મૂળમાં લાગુ કરવામાં આવશે, 2 નવા નમૂનાઓ દેખાશે (ફ્રન્ટએન્ડ અને બેકએન્ડ), અને ઘણાને નવા મીડિયા મેનેજર ગમશે.

જુમલા 4 હજી વિકાસ હેઠળ હોવાથી, સુવિધાઓની સૂચિ વિસ્તરણ કરવાનું ચાલુ રાખશે.

અપડેટ કરેલ માળખું

જુમલા 4 સાથે સમાવિષ્ટ અપડેટેડ ફ્રેમવર્ક (સંસ્કરણ 2.0) માં કેટલાક નોંધપાત્ર સુધારાઓ છે. ડેટાબેઝ API મૂળ રીતે તૈયાર નિવેદનોને સમર્થન આપશે, જે નોંધપાત્ર સુરક્ષા સુધારણા છે. મોડ્યુલર કીચેન ઘટકનો ઉપયોગ કરીને એન્ક્રિપ્ટેડ ડેટા સ્ટોર કરવાનું હવે શક્ય છે. નવા કન્સોલ ઘટક સાથે કમાન્ડ લાઇન ટૂલ્સ વધુ સારી રીતે અને વધુ સુરક્ષિત રીતે બનાવી શકાય છે.

તે વધુ સુરક્ષિત અને સપોર્ટેડ છે

PHP 5.6 કરતાં જૂની આવૃત્તિઓ હવે સુરક્ષા પેચ માટે સમર્થિત નથી. જો PHP 5.3 માં કેટલીક મોટી નબળાઈ જોવા મળે છે, તો કોઈ તેને ઠીક કરશે નહીં અને તમારી સાઇટ સંવેદનશીલ હશે. નવીનતમ સંસ્કરણનો ઉપયોગ કરીને, તમે હંમેશા જાણશો કે આ સંભવિત સમસ્યાઓનું ધ્યાન રાખવામાં આવશે અને જ્યારે તે ઉપલબ્ધ થશે ત્યારે અપડેટ્સ તમારા માટે ખૂબ જ ઝડપથી ઉપલબ્ધ થશે.
PHP 7 એ નવીનતમ મુખ્ય સંસ્કરણ હોવાથી, તે લાંબા સમય સુધી સપોર્ટેડ રહેશે (નાના પ્રકાશનો સહિત), તેથી તમારી જુમલા 4 વેબસાઇટ 2025 સુધી સરળતાથી ચાલશે.

જો હું અપડેટ ન કરી શકું તો શું?

તે યાદ રાખવું અગત્યનું છે કે જુમલા 3.9+ તેના પ્રકાશન પછી બે વર્ષ માટે સપોર્ટેડ રહેશે. આનો અર્થ એ છે કે તમે તમારી જુમલા 3 સાઇટને 2020 સુધી આરામથી મેનેજ કરી શકો છો, પરંતુ તમે જુમલા 4 ની તમામ મહાન સુવિધાઓ અને લાભો ગુમાવશો.

અમે જુમલાની આગામી પેઢીને શ્રેષ્ઠ પેઢી બનાવવા માટે મજબૂત પ્રતિબદ્ધ છીએ અને માનીએ છીએ કે ભવિષ્યમાં PHP 7નો ઉપયોગ અમારા વપરાશકર્તાઓને ઉચ્ચ ગુણવત્તાની પ્રોડક્ટ પ્રદાન કરવામાં મદદ કરશે.

એમ. બાબકર

અહીં એક જ અર્થ છે- જુમલા 4 માત્ર php7+ પર કામ કરશે. 3જી જુમલા લાઇન php5+ પર ચાલી શકે છે.

અપડેટ કરવું કે નહીં અપડેટ કરવું તમારા પર નિર્ભર છે, લેખની શરૂઆતમાં મેં જે લખ્યું છે તે બધું ધ્યાનમાં લેતા...

શું તે PHP 7.0 ના નવા સંસ્કરણ પર અપગ્રેડ કરવા યોગ્ય છે? - તે ચોક્કસપણે મૂલ્યવાન છે, તેના વિશે વિચારશો નહીં - આગળ વધો!

સાતમા સંસ્કરણમાં ઘણી બધી નવીનતાઓ છે. મુખ્ય રાશિઓ:

  • PHP 7 કોર PHPNG નો ઉપયોગ કરે છે. નવો કોર સાઇટ્સને 40% નો પ્રભાવ વધારો આપે છે;
  • સંકેતો અને વળતર મૂલ્યો લખો. હવે, ફંક્શન જાહેર કરતી વખતે, તમે દરેક વેરીએબલ માટે તેનો પોતાનો પ્રકાર તેમજ ફંક્શન પરત કરશે તે ડેટા પ્રકારનો ઉલ્લેખ કરી શકો છો. ઉપલબ્ધ પ્રકારો: int, float, string અને bool;
  • સંયોજન સરખામણી ઓપરેટરઅને ઘણું બધું.

PHP 7 માં કેટલાક એક્સ્ટેન્શન્સ દૂર કરવામાં આવ્યા છે:

  • mysql

પહેલેથી જ PHP 5.6.x માં આ એક્સટેન્શનનો ઉપયોગ અનિચ્છનીય હતો. "mysql" ને બદલે તમારે "PDO" નો ઉપયોગ કરવો જોઈએ, અને ereg → preg ને બદલે.

તમે સત્તાવાર પૃષ્ઠ પર નવા PHP 7 ઉત્પાદનો વિશે વધુ જાણી શકો છો

શું તે PHP 7 પર અપગ્રેડ કરવા યોગ્ય છે?

હમણાં માટે, સાઇટના પ્રદર્શનને સુધારવા માટે તમે જે સૌથી સરળ વસ્તુ કરી શકો છો તે છે PHP 7.0.x પર અપગ્રેડ કરવું. તમારા પ્રોજેક્ટને કેવી રીતે લખવામાં આવે છે તેના પર પણ ઝડપનો લાભ નિર્ભર છે. જો તમને હજુ પણ શંકા હોય, તો ચાલો કેટલીક સરખામણીઓ બતાવીએ:

બેન્ચમાર્ક PHP 5.6 વિ PHP 7કેટલાક ફ્રેમવર્ક માટે (Zend ફ્રેમવર્ક, Magento, Drupal, Mediawiki, WordPress, Laravel, SugarCRM, વગેરે):

બધા ફ્રેમવર્ક માટે, પ્રદર્શન લાભ નોંધપાત્ર છે. ચાલો જોઈએ કે કર્નલ કાર્યો અને રચનાઓ સાથે વસ્તુઓ કેવી રીતે ઊભી થાય છે:

બેન્ચમાર્ક PHP 5.6 વિ PHP 7કર્નલ કાર્યો અને રચનાઓ માટે:

જો આલેખ તમને ખાતરી આપે છે, તો તમે તમારી સાઇટને PHP ના નવા સંસ્કરણ પર સ્થાનાંતરિત કરવાનો પ્રયાસ કરી શકો છો અને વાસ્તવિક પ્રોજેક્ટ પર લાભ અનુભવી શકો છો.

ઈલાસ્ટીકવેબના સહકર્મીઓએ જણાવ્યું કે PHP 7 સાથે નવું સર્વર લોંચ કરતા પહેલા, તેઓએ લારાવેલ 5 પર ચાલતા તેના પર એક મોટો સરકારી પ્રોજેક્ટ લોન્ચ કર્યો હતો. આ PHPના નવા સંસ્કરણ અને સમગ્ર સર્વરનું એક પ્રકારનું પ્રદર્શન પરીક્ષણ હતું. પહેલાં, આ પ્રોજેક્ટ PHP 5.6 સાથે સર્વર પર હતો. સાઇટને ખસેડ્યા પછી, પૃષ્ઠો નોંધપાત્ર રીતે ઝડપથી ખુલવા લાગ્યા, જ્યારે સંસાધનનો ઉપયોગ અડધા ભાગમાં કાપવામાં આવ્યો.

PHP 7 પર જવાની તૈયારી કરવા માટે, તેઓએ PHP 7 સ્થળાંતર સહાયક અહેવાલ (MAR) નો ઉપયોગ કર્યો. સૌથી વધુ લોકપ્રિય CMS/ફ્રેમવર્ક પહેલેથી જ PHP 7 સાથે સુસંગત છે, તેથી મુખ્ય કાર્ય કસ્ટમ પ્લગિન્સનું પરીક્ષણ કરવાનું હતું.

WordPress 4, Drupal 8/7 અને Joomla નું નવીનતમ સંસ્કરણ PHP 7 માટે તૈયાર છે!

થોડા દિવસો પહેલા મેં મારા સર્વરને લગભગ 30 સાઇટ્સ સાથે PHP 7 પર સ્વિચ કર્યું હતું. તેમાંથી કેટલીક ઘણી જૂની હતી અને વિવિધ ફ્રેમવર્ક અને CMSની વિશાળ શ્રેણીની બનેલી હતી. અહીં એવા લોકો માટે કેટલીક ટિપ્સ છે જેમણે હજુ સુધી PHP 7 પર સ્વિચ કરવું કે નહીં તે નક્કી કર્યું નથી.

ચાલો એ હકીકતથી શરૂઆત કરીએ કે હું સમજું છું કે એવા ઘણા લોકો છે જેઓ સ્થિર સંસ્કરણને સાચા અર્થમાં "સ્થિર" માનતા નથી જ્યાં સુધી તે થોડું પરિપક્વ ન થાય ત્યાં સુધી, એવી અપેક્ષા રાખે છે કે હજી પણ કેટલીક ભૂલો અથવા અસંગતતાઓ હશે. મેં અત્યાર સુધી જે જોયું છે તેમાંથી, દરેક રીલીઝ ઉમેદવારને રીલીઝ થતાંની સાથે જ અજમાવી જુઓ, તે રીલીઝ થતાંની સાથે જ PHP 7 પર સ્વિચ કરવું સંપૂર્ણપણે સલામત છે. મેં ક્યારેય કોઈ વિચિત્ર વર્તન અથવા ક્રેશ નોંધ્યું નથી જે મારી ભૂલ ન હોય. હકીકત એ છે કે આ એક નવું સંસ્કરણ હોવા છતાં, તે ઘણા અસંગત ફેરફારો લાવતું નથી, એટલે કે, મોટાભાગે, તમે તેને ફક્ત PHP 5.7 તરીકે ગણી શકો છો, ફક્ત ખૂબ જ ઝડપી.

અને ઝડપ ખરેખર પ્રભાવશાળી છે, અવિશ્વસનીય પણ. ઉદાહરણ તરીકે, PHPixie પરની એક સાદી સાઇટ લગભગ ત્રણ ગણી ઝડપથી કામ કરતી હતી, લગભગ PHP 5.6 પર ફાલ્કનની ઝડપની બરાબર હતી, વર્ડપ્રેસ પરની ઘણી સાઇટ્સે ઝડપમાં બે પરિબળ દ્વારા સ્થિર વધારો દર્શાવ્યો હતો. જો તમે Google ના તાજેતરના અહેવાલને ધ્યાનમાં લો કે પૃષ્ઠ લોડિંગ પ્રદર્શનમાં 10% નુકશાન પણ ગ્રાહકોને નોંધપાત્ર નુકસાનમાં પરિણમે છે, તો જો તમે PHP અપડેટ કરીને તમારી સાઇટને અડધી ઝડપે સરળતાથી કરી શકો છો, તો તમે કંઈપણ ખર્ચ કર્યા વિના વધુ વેચાણ મેળવો છો. જ્યારે તમે તમારા મેનેજરને PHP 7 પર સ્વિચ કરવા માટે સમજાવો ત્યારે આ યાદ રાખો. વેચાણના જથ્થા કરતાં વધુ સારી કંઈપણ ખાતરી આપતું નથી.

થોડી નોંધ

વિસ્તરણ mysqlહવે ઉપલબ્ધ નથી, તેથી જો તમે પહેલાથી સ્વિચ કર્યું નથી પીડીઓઅથવા mysqliપછી હવે તમારે ચોક્કસપણે કરવું પડશે. સદનસીબે, ઘણા કિસ્સાઓમાં તે ફક્ત કૉલ્સને બદલવા માટે પૂરતું છે mysql_પર કાર્યો mysqli_.

E_STRICTભૂલોને અન્ય ભૂલ પ્રકારો તરીકે ફરીથી વર્ગીકૃત કરવામાં આવે છે. જો તમે અગાઉ તેમને છુપાવ્યા હતા અથવા તેમને અવગણ્યા હતા, તો હવે તેઓ અન્ય લોકો સાથે બહાર આવવાનું શરૂ કરશે. ઉદાહરણ તરીકે, નોન-સ્ટેટિક મેથડને સ્ટેટિકલી કૉલ કરવાથી હવે થ્રો થાય છે E_DEPRECATEDજેણે જુમલા 2.5 સાથે સમસ્યાઓનો સમૂહ બનાવ્યો જે કોઈ કારણસર વારંવાર આવું કરે છે. અસંગત વારસાને પણ હવે તરીકે વર્ગીકૃત કરવામાં આવે છે E_WARNING. વર્ડપ્રેસને ફેબ્રુઆરીથી PHP 7 સાથે કામ કરવા માટે પરીક્ષણ કરવામાં આવ્યું છે, તેથી તેની સાથે કોઈ સમસ્યા નથી, જો કે, ઘણા પ્લગઇન્સ અસંગત હોવાનું બહાર આવ્યું છે.

આગળહવે હંમેશા એરેની નકલ સાથે કામ કરે છે, જેથી પુનરાવૃત્તિ દરમિયાન એરેમાં થતા કોઈપણ ફેરફારો પુનરાવૃત્તિને અસર કરશે નહીં. વાસ્તવમાં, ઘણા કિસ્સાઓમાં તે કોઈપણ રીતે કામ કરે છે અને કેસ પોતે જ ખૂબ જ દુર્લભ છે, પરંતુ તેમ છતાં હું તેને એક પ્લગઇનમાં મળ્યો.

હવે $foo->$bar["baz"]તરીકે અર્થઘટન કર્યું ($foo->$bar)["baz"]અને નહીં $foo->($bar["baz"])જેમ કે PHP 5 માં. આ એક દુર્લભ કેસ છે, પરંતુ તે એક પ્લગઇનમાં પણ બન્યું છે, અને તે Magento 1.x ( core/Mage/Core/Model/Layout.php).

ધ્યાનમાં રાખો કે બધા એક્સ્ટેન્શન્સ હવેથી PHP 7 ને સપોર્ટ કરતા નથી, હું મારા મનપસંદ XCache નો ઉપયોગ કરી શકતો નથી, જેણે મને ઘણા વર્ષો સુધી સારી રીતે સેવા આપી હતી.

કુલ મળીને, બધી સાઇટ્સને PHP 7 માં સ્થાનાંતરિત કરવામાં મને લગભગ 5 કલાક લાગ્યાં. આ પ્રક્રિયા બિલકુલ મુશ્કેલ નથી અને તમામ લોકપ્રિય વિતરણો માટે પેકેજો પહેલેથી જ ઉપલબ્ધ છે. તેથી જો તમે સ્થિર પ્રકાશન માટે રાહ જોતા હોવ તો પણ (હવે વધુ સમય નથી), તમારી સાઇટ્સને સ્થળાંતર માટે સમય પહેલાં તૈયાર ન કરવાનું કોઈ કારણ નથી.

શુભ બપોર, પ્રિય વાચકો અને સબ્સ્ક્રાઇબર્સ, તમારામાંથી ઘણાએ કદાચ એવી માહિતી સાંભળી હશે કે Google સર્ચ એન્જિન ઇન્ટરનેટ પરની તમામ સાઇટ્સને સુરક્ષિત https કનેક્શનમાં સ્થાનાંતરિત કરવા માટે ખૂબ જ પ્રયત્નો કરી રહ્યું છે. વેબસાઇટ્સ માટે એન્ક્રિપ્શન પ્રમાણપત્રો ઇન્સ્ટોલ કરી રહ્યાં છે, વેબમાસ્ટર્સને શોધ પરિણામોમાં બોનસ મેળવવાની ઓફર કરે છે, અન્ય તમામ વસ્તુઓ સમાન છે. તેથી મેં આ કાર્ય વિશે ગંભીરતાથી વિચાર્યું, ઉનાળામાં સાઇટને ખસેડવાનું આયોજન કર્યું, પરંતુ આ કાર્ય પહેલાં મારે બધું તૈયાર કરવું પડશે અને તૈયારીના એક તબક્કા જે મેં મારા માટે સેટ કર્યા છે તે છે php 5 થી php 7 માં સંક્રમણ. mchost.ru હોસ્ટિંગ

મારે શા માટે php 5 થી php 7 પર સ્વિચ કરવાની જરૂર છે

બે બાબતોએ મને આ કરવા માટે પ્રોત્સાહિત કર્યા:

  • મને php 7 થી વધુ કાર્યક્ષમતા મળે છે
  • હું મારા સંસાધનો પરનો ભાર ઘટાડું છું અને વિનંતીઓની સંખ્યામાં ઘટાડો કરું છું, જેનાથી સાઇટ લોડ કરવાની ગતિમાં વધારો થાય છે, જે હવે મોબાઇલ શોધ પરિણામો માટે ખૂબ જ મહત્વપૂર્ણ છે, જેની ટકાવારી પહેલેથી જ 50 ટકાથી વધી ગઈ છે.

મેં તમને લેખમાં પહેલેથી જ વર્ણવ્યું છે કે કેવી રીતે મારી સાઇટ પાર્સિંગના ભાર હેઠળ વળેલી હતી, અને તકનીકી સપોર્ટ, સમસ્યાઓ હલ કર્યા પછી, PHP 7 ને સપોર્ટ કરતી સાઇટ સાથે, તેના પર સ્વિચ કરવાની ભલામણ પણ કરી છે. php 5 અને php 7 પ્રદર્શનની સરખામણી કરતા પરીક્ષણો, લિંક જુઓ.

php સંસ્કરણ બદલવું

મારી પાસે mchost પર VPS હોસ્ટિંગ હોવાથી, આ ખૂબ જ સરળ રીતે કરવામાં આવે છે. અમે તમારા વ્યક્તિગત ખાતામાં https://cp.mchost.ru/login.php પર જઈએ છીએ. આગળ, કોઈપણ સામાન્ય વ્યક્તિની જેમ, તમારે સાઇટની બેકઅપ કોપી બનાવવી જોઈએ. અમે બેકઅપ આઇટમ પર જઈએ છીએ, સાઇટ પસંદ કરીએ છીએ અને તેને બનાવીએ છીએ.

આગળનું પગલું સાઇટ્સ પસંદ કરવાનું છે. તેમાંથી તમને જરૂર હોય તે શોધો અને PHP સેટિંગ્સ પર ક્લિક કરો.

ડોમેન માટેની php આઇટમમાં, તમે સંભવિત સંસ્કરણોની સૂચિ જોશો, હાલમાં નવીનતમ FastCGI PHP 7.1 છે.

php 5 થી php 7 પર સ્વિચ કરવાની પ્રક્રિયા શરૂ થશે, જમણી બાજુએ તમારી પાસે પ્રોગ્રેસ બાર હશે.

જેમ તમે જોઈ શકો છો, સંસ્કરણ બદલતા પહેલા, મારી પાસે 5.4.45 છે

ચાલો હવે 7.1 જોઈએ

હું એ નોંધવા માંગુ છું કે સંસ્કરણો વચ્ચેના અનુવાદમાં 15 મિનિટ જેટલો સમય લાગી શકે છે, તેથી આ ક્રિયા સાંજ સુધી મુલતવી રાખવી વધુ સારું છે

જો, માર્ગ દ્વારા, તમે આ હોસ્ટિંગમાંથી 3 મહિનાની મફતમાં મેળવવા માંગો છો, તો પછી નીચેના બેનર પર ક્લિક કરો અને દાખલ કરો પ્રમોશનલ કોડ 48C4-D018-AC60-50C6

તમે સાઇટને નવીનતમ સંસ્કરણ પર સ્થાનાંતરિત કરી લો તે પછી, તમારા સંસાધનની તમામ કાર્યક્ષમતા તપાસો, બધું કામ કરે છે અને યોગ્ય રીતે પ્રદર્શિત થાય છે કે કેમ, જો નહીં, તો તમારી પાસે બે વિકલ્પો છે, 1 એ છે કે રોલ બેક કરો, બીજો સાઇટને સંશોધિત કરવાનો છે.

સંભવિત સમસ્યાઓ

ઘણી વખત તમને ભૂલ મળે છે: ડેટાબેઝ સાથે કનેક્શન સ્થાપિત કરવામાં ભૂલ

ઉકેલ સરળ છે; તમારે તમારા વ્યક્તિગત ખાતામાં ડેટાબેઝ માટે પાસવર્ડ અપડેટ કરવાની જરૂર છે. ડેટાબેસેસ પસંદ કરો અને તમને જરૂર હોય તેના પર ક્લિક કરો (સંપાદિત કરો)

પાસવર્ડ રીસેટ કરો.

જો, ઉદાહરણ તરીકે, તમને તેનો પાસવર્ડ યાદ નથી અને તમારી પાસે વેબસાઇટ એન્જિન છે, જેમ કે હું WordPress કરું છું, તો પછી FTP સર્વર સાથે જોડાઈ શકે છેઅને સાઇટના રૂટમાં wp-config.php ફાઇલ શોધો

તેને ખોલો અને ફીલ્ડ શોધો (MySQL ડેટાબેઝ પાસવર્ડ)

જો તમને અન્ય કોઈ સમસ્યા હોય, તો તેમના વિશે ટિપ્પણીઓમાં લખો અને અમે તેમને સાથે મળીને હલ કરવાનો પ્રયાસ કરીશું. તેથી, આ કાર્ય કરવા માટે ખૂબ આળસુ ન બનો, નવીનતમ સૉફ્ટવેરની બધી ક્ષમતાઓનો ઉપયોગ કરવો મહત્વપૂર્ણ છે, ખાસ કરીને કારણ કે તમને હોસ્ટિંગ પર ઓછા ભારનું બોનસ અને તમારા સંસાધનની વધુ ઝડપ પણ મળે છે.