கட்டுரை அடைவு
வேர்ட்பிரஸ் PHP பிழைகள் பேய் இடைவெளிகளால் ஏற்படக்கூடும்!
நிரலாளர்கள் அதிகம் பயப்படுவது பிழைகள் பற்றி அல்ல, மாறாக பிழைகளால் தங்கள் உணர்ச்சிகளைக் கவரும் போதுதான்.
நீங்கள் எழுதிய தர்க்கம் வெளிப்படையாகவே நன்றாக இருக்கிறது, ஆனால் PHP உங்களுக்கு ஒரு syntax errorநீங்கள் ஒரு டேட்டுக்கு மூன்று நிமிடங்கள் தாமதமாக வருவது போலவும், மற்றவர் முகத்தைத் திருப்பிக்கொண்டு "நீ என்னைக் காதலிக்கவில்லை" என்று சொல்வது போலவும் இருக்கிறது. நீங்கள் மிகவும் தவறாக உணரும் அளவுக்கு கீபோர்டைத் தூக்கி எறிய விரும்புகிறீர்கள்.

WordPress PHP ஏன் பிழையைப் புகாரளிக்கிறது?
PHP ஆல் கொடுக்கப்பட்ட ப்ராம்ட்:
syntax error, unexpected single-quoted string "wpturbo_handle_upload_convert_...", expecting ")"
மனித மொழியில் மொழிபெயர்க்கப்பட்டால், இதன் பொருள்: நான் ஒரு இறுதி அடைப்புக்குறியை எதிர்பார்த்தேன், ஆனால் நீங்கள் எனக்குள் ஒரு விசித்திரமான கதாபாத்திரங்களின் சரத்தை திணித்துவிட்டீர்கள், விவரிக்க முடியாத மனநிலையுடன்.
சரி என்ன பிரச்சனை? இது உங்கள் செயல்பாட்டு தர்க்கம் அல்ல, ஆனால் அந்த அப்பாவி வரி:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
குறியீட்டில் பேய் இடங்கள்
சிக்கலின் மையக்கரு என்னவென்றால், நீங்கள் குறியீட்டை நகலெடுத்து ஒட்டும்போது, நீங்கள் கலக்கிறீர்கள் முழு அகல இடம் அல்லது பூஜ்ஜிய அகல இடைவெளி.
இந்த விஷயங்கள் எடிட்டரில் நிர்வாணக் கண்ணுக்குத் தெரியாது, ஆனால் அதைப் பாகுபடுத்தும்போது PHP ஐ பைத்தியமாக்கிவிடும்.
இது ஒரு கிண்ணம் சுவையான நூடுல்ஸை சாப்பிடுவது போன்றது, ஆனால் திடீரென்று நீங்கள் ஒரு மணல் துகளை கடித்துவிட்டால், உங்கள் பாதுகாப்பு உடனடியாக உடைந்துவிடும். இந்த நேரத்தில் PHP இப்படித்தான் உணர்கிறது.
அதை எழுதுவதற்கான சரியான வழி என்ன?
நீங்கள் செய்ய வேண்டியது உண்மையில் மிகவும் எளிது. அந்த பேய் இடைவெளிகள் அனைத்தையும் மாற்றி, தூய்மையான அரை அகல இடைவெளிகளை வைத்திருங்கள்.
சரியான WordPress குறியீடு பின்வருமாறு:
add_filter('wp_handle_upload', 'wpturbo_handle_upload_convert_to_webp');
function wpturbo_handle_upload_convert_to_webp($upload) {
if (in_array($upload['type'], ['image/jpeg', 'image/png', 'image/gif'])) {
$file_path = $upload['file'];
if (extension_loaded('imagick') || extension_loaded('gd')) {
$image_editor = wp_get_image_editor($file_path);
if (!is_wp_error($image_editor)) {
// Set WebP quality (adjust as needed)
$quality = 80; // Adjust between 0 (low) to 100 (high)
$image_editor->set_quality($quality);
$file_info = pathinfo($file_path);
$dirname = $file_info['dirname'];
$filename = $file_info['filename'];
$def_filename = wp_unique_filename($dirname, $filename . '.webp');
$new_file_path = $dirname . '/' . $def_filename;
$saved_image = $image_editor->save($new_file_path, 'image/webp');
if (!is_wp_error($saved_image) && file_exists($saved_image['path'])) {
$upload['file'] = $saved_image['path'];
$upload['url'] = str_replace(basename($upload['url']), basename($saved_image['path']), $upload['url']);
$upload['type'] = 'image/webp';
@unlink($file_path);
}
}
}
}
return $upload;
}
இதை எப்படி தவிர்ப்பது?
நீங்கள் ஒவ்வொரு முறை நகலெடுத்து ஒட்டும்போதும் பதட்டமாக இருக்க வேண்டுமா என்று நீங்கள் யோசிக்கலாம்? பதில்: பீதி அடைய வேண்டாம், ஆனால் புத்திசாலித்தனமாக இருங்கள்.
- விசித்திரமான எழுத்துக்களை தானாகவே முன்னிலைப்படுத்தக்கூடிய VS Code போன்ற நம்பகமான எடிட்டரைப் பயன்படுத்தவும்.
- ஒரு கோப்பைத் திறக்கும்போது, அதை UTF-8 குறியாக்கத்தில் சேமிக்க முயற்சிக்கவும், இது "பேய் சின்னங்களின்" அபாயத்தை பாதியாகக் குறைக்கும்.
- நீங்கள் உண்மையிலேயே கவலைப்பட்டால், சந்தேகத்திற்கிடமான குறியீட்டை ஒரு எளிய உரை கருவியில் ஒட்டவும், அதை சுத்தம் செய்யவும்.
சூடான பானையில் சாப்பிடுவதற்கு முன்பு காய்கறிகளைக் கழுவுவது போல, நிறைய விபத்துகளைத் தவிர்க்கலாம்.
முடிவுரை
இந்தப் பிழை மர்மமாகத் தோன்றலாம், ஆனால் அதன் தர்க்கம் உண்மையில் மிகவும் தெளிவாக உள்ளது. நிரலாக்கம் என்பது கவிதை எழுதுவது போன்றது; நிறுத்தற்குறிகளும் இடைவெளியும் தாளத்தின் ஆன்மா. ஒரு தவறான இடம் குறியீட்டை தாளத்திலிருந்து விலக்கி, இசைக்கு மாறான டியூபா திடீரென்று ஒரு இசைக்குழுவில் தோன்றுவது போலத் தூண்டிவிடும்.
குறியீட்டை எழுதும்போது, நாம் ஒரு வகையான "குறியீட்டு தூய்மையை" வளர்த்துக் கொள்ள வேண்டும். விவரங்களில் முழுமையை அடைவதன் மூலம் மட்டுமே தர்க்கம் சீராக இயங்க முடியும்.தத்துவம்ஒரு வகையில், இது துல்லியம் மற்றும் ஒழுங்கைப் பின்தொடர்வதாகும்.
总结
மூன்று முக்கிய புள்ளிகள் உள்ளன:
- இந்தப் பிழை ஒரு தர்க்கப் பிரச்சினை அல்ல, மாறாக ஒரு பேய் இடம்.
- சரியான தீர்வு அதை ஒரு நிலையான அரை அகல இடைவெளியுடன் மாற்றுவதாகும்.
- குறியீட்டுத் தூய்மையை வளர்த்துக் கொள்ளுங்கள் மற்றும் மறைக்கப்பட்ட எழுத்துக்களைத் தவிர்க்கவும்.
எனவே, அடுத்த முறை நீங்கள் விவரிக்க முடியாத ஒரு பிழையைச் சந்திக்கும் போது, நீங்கள் சந்தேகிக்கலாம்: கண்ணுக்குத் தெரியாத "பேய்" வேலை செய்கிறதா? நடவடிக்கை எடுங்கள், அவற்றைச் சுத்தம் செய்யுங்கள், உங்கள் குறியீடு சீராக இயங்கும்.
ஹோப் சென் வெலியாங் வலைப்பதிவு ( https://www.chenweiliang.com/ ) பகிரப்பட்ட "வேர்ட்பிரஸ் தொடரியல் பிழை: எதிர்பாராத ஒற்றை மேற்கோள் சரத்தை சரிசெய்வதற்கான சரியான வழிகாட்டி" இது உங்களுக்கு உதவியாக இருக்கும்.
இந்தக் கட்டுரையின் இணைப்பைப் பகிர வரவேற்கிறோம்:https://www.chenweiliang.com/cwl-33245.html
மேலும் மறைக்கப்பட்ட தந்திரங்களைத் திறக்க🔑, எங்கள் டெலிகிராம் சேனலில் சேர வரவேற்கிறோம்!
பிடித்திருந்தால் லைக் செய்து பகிருங்கள்! உங்களின் ஷேர்களும் லைக்குகளும் எங்களின் தொடர் உந்துதலாகும்!