คลังเก็บบล็อก

แก้ YII Assets ย้าย static cache folder


โดยปกติ yii จะเก็บไฟล์ static บางไฟล์ที่เป็น CSS, JavaScript ทั้งที่เป็น framework อย่าง jQuery หรือไฟล์ที่เกิดจากการใช้คำสั่ง Yii::app()->getClientScript()->registerScript(‘featured’ ,”…”); หรือ Yii::app()->clientScript->registerCoreScript(‘jquery’); ไว้ใน folder assets/ค่าสุ่ม บางครั้งเราแก้ไขไปแล้ว แต่ไฟล์พวกนี้ยัง cache ของเดิมอยู่เพราะว่า hash ไม่ได้ต่างจากเดิม หน้าเว็บจึงทำงานไม่ถูกต้องตามที่ตั้งใจไว้ วิธีแก้คือการที่จะต้องเข้าไปลบออกทั้งโฟลเดอร์ ซึ่งไม่สดวกนักเพราะว่าใน assets ยังมีไฟล์ที่เป็นดาต้าจริงๆ อยู่ด้วย ทางที่จึงควรแยกไฟล์ที่เป็น static cache พวกนี้ออกไปไว้ที่อื่นเพื่อความสดวกในการทดสอบและปลอดภัยของข้อมูล

สมมุติว่าสร้างโฟลเดอร์เก็บไฟล์ static cache ไว้ที่ D:/xampp/htdocs/yiiTest/assetsRuntime (user ต้องเข้าถึงได้จาก internet และต้องกำหนดให้ php มีสิทธิเขียน / ลบไฟล์ อย่างน้อย cmod ต้องเป็น 0755 ) แล้วไปที่ protected\config\ main.php เพิ่มบรรทัดตามตัวอย่าง

	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
	'name'=>'My Web Application',
…
	// application components
	'components'=>array(
		'assetManager'=>array(
			'basePath'=>'D:\xampp\htdocs\yiiTest\assetsRuntime',
			'baseUrl'=>'/yiiTest/assetsRuntime/'
		),
…

อาจจะลบโฟลเดอร์ static cache ใน assets เก่าออก ครั้งต่อไปที่เขียนไฟล์ จะเขียนลงที่ใหม่

Advertisements

เพิ่มพื้นที่ฮาร์ดดิส


ยิ่งใช้คอมพิวเตอร์ไปนานๆ จะมีไฟล์เพิ่มขึ้นเรื่อยๆ เพลงออกใหม่ รูปไปเที่ยวมา จะลบก็เสียดาย ถ้า zip ไว้จะลดขนาดไฟล์ได้มาก แต่เวลาใช้ต้องแตกออกมาก่อน ไม่สะดวก windows มีวิธีพบกันครึ่งทางโดย zip ไฟล์ไว้แต่ยังเปิดใช้ได้ตามปกติ เรียกว่าการ compress files

วิธีคือ คลิกขวาบนไฟล์หรือโฟลเดอร์ที่ต้องการ เลือก Properties คลิก Advance คลิก Compress contents to save disk space รอซักครู่ เสร็จแล้วปิดหน้าต่าง Properties ได้

อีกวิธีคือ เข้า คอมมานด์ไลน์ ไปที่โพลเดอร์ที่ต้องการ พิมพ์ compact /c /s * ดูคำสังเพิ่มเติมได้จาก Compact : compress files from command line (CMD)

ดูเพิ่มเติม

%d bloggers like this: