macOS

macOS

macOS 11.0 Big Sur Apache Setup: Multiple PHP Versions

โดย Little Bear on 4 ต.ค. 64 14:48

เดี๋ยวค่อยมาเขียนรายละเอียด

brew tap shivammathur/php

เลือกมาสักเวอร์ชั่น

brew install shivammathur/php/php@5.6
brew install shivammathur/php/php@7.0
brew install shivammathur/php/php@7.1
brew install shivammathur/php/php@7.2
brew install shivammathur/php/php@7.3
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.0

config file อยู่ที่

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini
/usr/local/etc/php/7.1/php.ini
/usr/local/etc/php/7.2/php.ini
/usr/local/etc/php/7.3/php.ini
/usr/local/etc/php/7.4/php.ini
/usr/local/etc/php/8.0/php.ini

ผลลัพท์ตอนติดตั้ง

[code]
To enable PHP in Apache add the following to httpd.conf and restart Apache:
    LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so

    <FilesMatch .php$>
        SetHandler application/x-httpd-php
    </FilesMatch>

Finally, check DirectoryIndex includes index.php
    DirectoryIndex index.php index.html

The php.ini and php-fpm.ini file can be found in:
    /usr/local/etc/php/7.4/

php@7.4 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have php@7.4 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
  echo 'export PATH="/usr/local/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc

For compilers to find php@7.4 you may need to set:
  export LDFLAGS="-L/usr/local/opt/php@7.4/lib"
  export CPPFLAGS="-I/usr/local/opt/php@7.4/include"<br />
<br />
<br />
To start shivammathur/php/php@7.4:
  brew services start shivammathur/php/php@7.4
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/php@7.4/sbin/php-fpm --nodaemonize

เปลี่ยนลิงก์

brew unlink php && brew link --overwrite --force php@7.4

Apache

แก้ไขไฟล์ /etc/apache2/httpd.conf หรือ /usr/local/etc/httpd/httpd.conf file scroll to the bottom of the LoadModule entries.

LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.0/lib/httpd/modules/libphp7.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.1/lib/httpd/modules/libphp7.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
<a class="hashtag" href="/tags/LoadModule">#LoadModule</a> php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so

ที่มา macOS 11.0 Big Sur Apache Setup: Multiple PHP Versions

Mirror iPad to a Mac

โดย Little Bear on 19 ก.ย. 64 21:24
Screen Shot 2021-09-19 at 21.28.13.png

มี 2 วิธี

  1. QuickTime
  2. Reflector with Airplay

พอดีว่าใช้ iPad Air 2020 แต่ Macbook Pro เป็นรุ่นปี 2015 ซึ่งยังหาวิธีเชื่อมต่อผ่าน Airplay ยังไม่ได้

เลยลอง mirror ผ่าน QuickTime ดู

ขั้นตอนในการ Mirroring With QuickTime

  1. จำเป็นต้องใช้สาย cable ต่อผ่าน USB ของ Mac กับ iPad

  2. เปิด QuickTime บน Mac ก่อน แล้วเลือกเมนู File แล้วเลือก New Movie Recording

  3. จะแสดงหน้าต่างสำหรับบันทึก Movie โดยค่า default จะถูกกำหนดให้เป็นกล้อง

  4. เปลี่ยนให้เป็น iOS device โดยคลิกที่ปุ่มลูกศรลงถัดจากปุ่มบันทึก (record button) แล้วเลือก iOS device จากรายการกล้องที่แสดง

แค่นี้เอง หน้าจอของ iPad ก็จะมีอยู่บนหน้าจอของ Mac เรียบร้อย

ข้อเสียคือต้องต่อสาย USB ระหว่าง Mac กับ iPad ซึ่งอาจจะไม่สะดวกในการใช้งานในบางสถานการณ์

Xcode on Mac App Store can't install , show disk space not enough

โดย Little Bear on 25 มี.ค. 64 13:08

ตอนจะติดตั้ง Xcode มัน error "Not enough storage disk space, you can't install the product".

สาเหตุเกิดจาก App Store คำนวณพื้นที่ว่างผิด ได้ไม่เท่ากับพื้นที่ว่างจริง

สำรวจพื้นที่ว่างในฮาร์ดดิสกันก่อน

About this Mac > Storage

Trick คือ  ให้ macOS ทำการ clean up APFS โดยสร้าง a huge garbage file หลังจากนั้นก็ลบมันทิ้งไป

สร้างไฟล์โดยคำสั่ง:

dd if=/dev/zero of=/Users/<username>/hugefile bs=100m

ปล่อยให้มันทำงานไปสัก 30 วินาที แล้วก็ kill มันทิ้งด้วย ctrl+c หลังจากนั้นก็ลบไฟล์นั้นทิ้งไป:

rm ~/hugefile

ลบ Snapshots

tmutil thinlocalsnapshots / 21474836480 4