بعد نصب زمپ و احتمالا نصب کومپوزر هنگامی که دستور php رو در کمند لاین تایپ میکنین حتما با خطای bash: php: command not found روبرو میشین. دلیلش هم اینه php در زیر شاخه زمپ نصب شده و برای استفاده global باید اونو در فولدر باینری سیستم لینک کنین. چطوری؟ لمپ بصورت پیشفرض در آدرس زیر نصب میشه
/opt/lampp
و تمامی متعلقاتشم در همین پوشه هست. کافیه دستور زیر رو تایپ کنیم تا لینک میانبر ایجاد بشه
sudo ln -s /opt/lampp/bin/php /usr/bin/php
موردی که بعد این بهتر بهش توجه داشته باشین اینه که احتمالا بخاط تست و خطا یا… فایل باینری php در مسیر های دیگه ای هم نصب شده. برای اینکه ببینیم php که توسط xampp نصب شده در کدوم مسیره به آدرس http://localhost/dashboard/phpinfo.php برین و «Loaded Configuration File » مسیر فایل php.ini رو نشون میده که تو سیستم من /opt/lampp/etc/php.ini هست و فایل باینریه php در مسی /opt/lampp/bin/php هست (چون متن rtl بود / جلوی php اوند)
همین موضوع که از یک فایل باینتری دیگه ایتفاده کرده بودم باعث شد هنگام اجرای دستور php artisan با خطای «PHP Warning: PHP Startup: Unable to load dynamic library » مواجه بشم که به اشتباه رفتم فایل php.ini همون باینتری رو ویرایش کردم و سیمیکالون جلوی extension=php_mbstring.dll رو برداشتم و این اشتباه دوم بود چرا که فایل های dll مختص ویندوز هست و نه لینوکس. در لینوکس شما باید متعلقات php رو بصورت sudo apt-get install php-mbstring نصب کنین و برای غیر فعال کردنش از دستور sudo phpdismod mbstring و فعال کردن دوباره دستور sudo phpenmod mbstring استفاده کنین.
بروز رسانی: امان از این حافظه! فراموش کردم قبلا این کارو انجام داده بودم و از اونجایی که دوباره اوبونتو نصبیدم مجبور شدم دوباره این کارو انجام بدم و یادم نبود… دنبال راه حل گشتم و راه دیگه ای پیدا کردم. راه حل دوم:
cd ~ nano .profile //متن زیر رو به انتهای فایل اضافه کنین PATH="/opt/lampp/bin:$PATH"
بروز رسانی: روش اول global هست و راحتتر در همه یوزر ها خصوصا root میتونید باهاش کار کنید.
پیروز باشید 🙂