Như đã nêu trong nhận xét của tôi, rất có thể bạn không chạy tệp nhị phân PHP mà bạn nghĩ rằng bạn đang chạy. Ngay cả khi mã nhị phân MAMP php nằm trong đường dẫn của bạn, dòng shebang trong srdb.cli.php
đọc #!/usr/bin/php
và điều đó trỏ đến tệp nhị phân php do Apple cung cấp.
Vì vậy, nếu bạn gọi tập lệnh với đường dẫn đầy đủ đến tệp nhị phân php MAMP của mình, thì vấn đề sẽ tránh được:
/Applications/MAMP/bin/php/php5.3.28/bin/php srdb.cli.php -h 127.0.0.1 -u root -n mydbname -proot -c utf\-8 -s mywebsite.com -r dev.mywebsite.com
Một giải pháp khác có thể là thay thế dòng shebang bằng:
#!/usr/bin/env php
Điều này chỉ hoạt động nếu mã nhị phân MAMP nằm trong $ PATH của bạn trước /usr/bin
. Sử dụng #!/usr/bin/env php
Tuy nhiên, đảm bảo rằng bạn luôn sử dụng cùng một tệp nhị phân bất kể bạn đang gọi tập lệnh qua ./srdb.cli.php
hoặc với php srdb.cli.php
.