سلام خدمت استاد موسوی و دوستان محترم .
من یه چند وقتی بود که به دنیای لینوکس علاقه مند شده بودم به همین دلیل چند روز پیش اوبونتو رو نصب کردم.
چون می خوام سمت سرور کار کنم : xampp رو نصب کردم و حالا می خوام composer رو هم نصب کنم ولی با مشکل مواجه شدم .نصب نمی کنه!!!!! رفتم تو اینترنت دنبال روش نصبش رفتم انواع روش نصب وجود داره ادم سردرگم می شه!!!
یکی از روش ها: ۱-ابزار curl رو نصب کردم -۲- دستور زیر رو برای اوردن فایل composer-setup.php نوشتم در ترمینال:
`curl -sS [https://getcomposer.org/installer](https://getcomposer.org/installer) -o composer-setup.php`
۳- دستور زیر رو برای verify کردن نوشتم:
php -r "if (hash_file('SHA۳۸۴', 'composer-setup.php') === '۶۶۹۶۵۶bab۳۱۶۶a۷aff۸a۷۵۰۶b۸cb۲d۱c۲۹۲f۰۴۲۰۴۶c۵a۹۹۴c۴۳۱۵۵c۰be۶۱۹۰fa۰۳۵۵۱۶۰۷۴۲ab۲e۱c۸۸d۴۰d۵be۶۶۰b۴۱۰') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
ولی در جوابش به جای installer verified عبارت 'Installer corrupt'; رو تحویل داد!!
۴-و حالا دستور زیر رو برای install کردن این فایل نوشتم
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
ولی با ارور زیر مواجه شدم!!
`Could not open input file: composer-setup.php`
حالا چون من تازه کارم و تو لینوکس وارد نیستم نمیدونم چه کار باید بکنم! از یک روش دیگه هم استفاده کردم :
`curl -sS [https://getcomposer.org/installer](https://getcomposer.org/installer) | php`
ولی ارور تحولیم داد:
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The json extension is missing.
Install it or recompile php without --disable-json
The phar extension is missing.
Install it or recompile php without --disable-phar
The iconv OR mbstring extension is required and both are missing.
Install either of them or recompile php without --disable-iconv
ممنون میشم کمکم کنید.
سلام. من هم این مشکلو داشتم. توی خود سایتش (https://getcomposer.org/download/) تو قسمت Command-line installation
این چند خط رو اگر توی کامند بنویسید نصب میشه.( قبلش چک کنید php نصب شده و روی path قرار گرفته)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
ممنون از شما ولی ظاهرا مشکل یکم بزرگتره چون قبل نصب composer باید git رو نصب کرد .ولی اونم نصب نمی کنه.دایرکتوری ها رو میاره .ولی نمیدونم مشکل چیه چون تازه کارم :
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.17.1-1ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up grub-efi-amd64-signed (1.93.4+2.02-2ubuntu8.3) ...
Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
dpkg: error processing package grub-efi-amd64-signed (--configure):
installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
grub-efi-amd64-signed
E: Sub-process /usr/bin/dpkg returned an error code (1)
انگاری اساسی مشکل داره. خواهشا اگه میشه کمکم کنید ممنون می شم....چون اگه composer نصب نشه ...........
@heather
دوست عزیز در لینوکس نیازی به xampp ندارید و بهتره ازش استفاده نکنید و برای نصب کامپوزر از دستور sudo apt install composer استفاده کنید.
اصلا این حرفا نیست تو لینوکس
توی لینوکس به ساده ترین شکل ممکن میشه نصب کرد
همون طور که آقای طهرانی نوشتن
عمل کنین
@haghft
خیلی خیلی ممنون از شما که جواب دادین.من یک هفتس که می خوام php,mysql,composer,laravel رو روش نصب کنم ولی هر بار رفتم سراغ سایتهای دیگه هر دونشون یک نظری داده بودن.یکی از این سایتها اسون ترین راه رو که گفته بود از طریق xampp هستش پیشنهاد داده بود.منم نمیدونستم که خودش پیشفرض خیلی چیزا رو داخلش داره و نیازی به زمپ نبود.حالا دستوری که گفتینو وارد کردم و خیلی از چیزا رو نصب کرد ولی یک مشکلی داره: تو نصب git هم اینو داشت وقتی که می خواد نصب کنه در وسط :
Setting up grub-efi-amd64-signed (1.93.4+2.02-2ubuntu8.3) ...
Installing for x86_64-efi platform.
Could not delete variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Block device required.
dpkg: error processing package grub-efi-amd64-signed (--configure):
installed grub-efi-amd64-signed package post-installation scr
و در اخر این:
Setting up composer (1.6.3-1) ...
Errors were encountered while processing:
grub-efi-amd64-signed
E: Sub-process /usr/bin/dpkg returned an error code (1)
و وقتی که مثلا دستور composer رو وارد می کنی تا مشخصات و همه چیزش بیاد :
Fatal error: Uncaught Error: Class 'Phar' not found in /usr/local/bin/composer:23
Stack trace:
# 0 {main}
thrown in /usr/local/bin/composer on line 23
فایل composer اومده ولی نمیتونه بازش کنه فک کنم!اینقدر روش این همه سایت رو استفاده کردم دیگه گیج شدم.
شما کل دستورات نصب php,mysql,composer,laravel رو بهم بگین بلکه من راحت شم!!!! در کل linux خیلی پیشرفته و باحاله .من تازه کارم ...........
گراب سیستمت گویا خراب شده کدای زیر رو توی ترمینال بزن ببینم درست میشه
sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub
@mdaalvand
سلام .ممنون از جوابتون .
کدها تون رو نوشتم ولی در دستور دومی بعد این Creating config file /etc/default/grub with new version
باز اینها اومدن::
Installing for x86_64-efi platform.
Could not prepare Boot variable: No space left on device
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
Failed: grub-install --target=x86_64-efi
WARNING: Bootloader is not properly installed, system may not be bootable
بعد هم که:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-33-generic
Found initrd image: /boot/initrd.img-4.15.0-33-generic
Found linux image: /boot/vmlinuz-4.15.0-32-generic
Found initrd image: /boot/initrd.img-4.15.0-32-generic
done
Setting up grub-efi (2.02-2ubuntu8.3) ...
Processing triggers for ureadahead (0.100.0-20) ...
مشکل بزرگیه؟؟؟
@heather
این داره میگه پارتیشن فضای کافی نداره!
شما برای boot و efi پارتیشن جدا تعریف کردین یا خیر؟
@mdaalvand
@haghft
والله چی بگم ...هخخخ
وقتی که نصب کردیم چهار تا گزینه بود من از کل اطلاعاتم وقتی که ویندوز داشتم بک اپ گرفتم.به همین دلیل تیک گزینه ی :
اتوماتیک همه ی کارا خودت اجام بده و همه چیز رو حذف کن و پارتیشن ها رو هم خودت اوکی کن رو زدیم!!!!
(ٍEraser Disck and...)
بهم گفتن همین کار رو بکنم .منم گوش کردم. (ویندوز در کنارش ندارم...)
دایرکتوری boot رو دارم ولی پارتیشن هام => root,swap,Home (جدا تعریف نکردیم) .شرمنده م واقعا....شاید بگین پس چرا نصبش کردین؟ راستش یه جورایی عاشقش شده بودم فقط می خواستم توش حرفه ای شم عجله کردم
حالا نمیدونم شاید چون واسش تعریف نکردیم اتوماتیک تو پارتیشن root ساخته شده باشه.
در باره ی efi هم همین نظر رو دارم. اگه واقعا می تونید کمکم کنید ممنون میشم....(ادم باید از یک جایی یاد بگیرد هیچ کس گیگ به دنیا نمیاد....)
اگه تونستین کمک کنین.خیلی ممنون می شم
@haghft
دایرکتوری efi در داخل دایرکتوری boot هستش .
خیلی ممنون.
heather@heather:~$ cd /
heather@heather:/$ ls
bin dev initrd.img lib64 mnt root snap tmp vmlinuz
boot etc initrd.img.old lost+found opt run srv usr vmlinuz.old
cdrom home lib media proc sbin sys var
heather@heather:/$ cd boot
heather@heather:/boot$ ls
abi-4.15.0-32-generic memtest86+.bin
abi-4.15.0-33-generic memtest86+.elf
config-4.15.0-32-generic memtest86+_multiboot.bin
config-4.15.0-33-generic retpoline-4.15.0-32-generic
efi retpoline-4.15.0-33-generic
grub System.map-4.15.0-32-generic
initrd.img-4.15.0-32-generic System.map-4.15.0-33-generic
initrd.img-4.15.0-33-generic vmlinuz-4.15.0-32-generic
lost+found vmlinuz-4.15.0-33-generic
heather@heather:/boot$
@mdaalvand
@haghft
دوستان خواهش می کنم یکی بگه چکار باید بکنم الان.....
هر جوری سرچ می کنم هیچ جا ننوشته چی کار کنم.
رفتم boot رو تعمیر کردم .دستور نصب composer رو زدم :
Reading package lists... Done
Building dependency tree
Reading state information... Done
composer is already the newest version (1.6.3-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
ولی وقتی دستور composer رو وارد می کنم :!
Composer 1.6.3 2018-01-31 16:28:17
Usage:
command [options] [arguments]
Fatal error: Uncaught Error: Call to undefined function SymfonyPolyfillMbstringiconv() in /usr/share/php/Symfony/Polyfill/Mbstring/Mbstring.php:534
Stack trace:
#0 /usr/share/php/Symfony/Polyfill/Mbstring/bootstrap.php(46): SymfonyPolyfillMbstringMbstring::mb_strwidth('h', 'ASCII')
#1 /usr/share/php/Symfony/Component/Console/Helper/Helper.php(54): mb_strwidth('h', 'ASCII')
#2 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(329): SymfonyComponentConsoleHelperHelper::strlen('h')
#3 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(97): SymfonyComponentConsoleDescriptorTextDescriptor->calculateTotalWidthForOptions(Array)
#4 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(189): SymfonyComponentConsoleDescriptorTextDescriptor->describeInputDefinition(Object(SymfonyComponentConsoleInputInputDefinition), Array)
#5 /usr/share/php/Symfony/Component/Console/Descriptor/Descriptor.php(55): SymfonyComponentConsoleDescriptorTextDescriptor->desc in /usr/share/php/Symfony/Polyfill/Mbstring/Mbstring.php on line 534
الان یک Fatal Error دارم . حالا نمیدونم چکار کنم؟؟؟دوستان به نظرتون دوباره ubunuto رو نصب کنم؟چرا این همه مشکل دارم که هیچ کس نداره!!!اگه اینکارو کردم چکار کنم که دوباره اینجوری سرم نیاد؟
خواهش می کنم راهنماییم کنین اعصابم خورد شده...خیلی بدشانسم من....خواهش می کنم زودتر جواب بدین
سلام دوست عزیز :)
من تا ته این پست رو نخوندم ولی پیشنهاد من اینه که اول با دستور زیر composer رو حذف کنی:
"sudo apt-get purge --auto-remove composer"
و بعدش xampp رو ذف کنی که من نمیدونم چطوریه .
بعد طبق لینک زیر lamp رو نصب کن:
https://howtoubuntu.org/how-to-install-lamp-on-ubuntu
بعد هم composer رو طبق سایت خودش و به صورت global نصب کن.
امیدوارم موفق باشی .
و یه نکته در مورد لینوکس : من برای کسایی مثل خودم و شما که خیلی با ترمینال میونه ی خوبی ندارن یا جدیدن توصیه میکنم از اوبونتو استفاده نکنید مخصوصا 18.04 که داغون بود . Distro های خوب زیاده باید بگردید من از مینت استفاده میکنم. موفق باشی.
@heather
دوست عزیز شما گام به گام کارهایی رو که میگم انجام بده عجله هم نکن
اول این چیزایی رو که مینویسم نصب کن به کامپوزر و هیچ چیز دیگه هم دست نزن فعلا فقط اینارو انجام بده تموم شد کامپوزرو اجرا کن و نتیجه رو اعلام کن:
sudo apt install php-mbstring
sudo apt install php-iconv
sudo apt install php-mysql
sudo apt install php-tokenizer
sudo apt install php-pdo
sudo apt install php-ctype
sudo apt install php-xml
sudo apt install php-json
sudo apt install php-redis
sudo apt install php-posix
sudo apt install php-tidy
sudo apt install php-zip
@haghft
سلام ممنون از جوابتون.فقط چجوری نصب کنم به کامپوزر؟وارد فولدر کامپوزر شم که = /usr/bin/composer هستش
یا همینجوری دستورات رو بزنم؟
@haghft
سلام خدمت شما .ممنون از راهنماییاتون.
همونطور که گفتین وارد کردم ولی در همون دستور اول : warning داد .
sudo apt install php-mbstring
[sudo] password for heather:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
php7.2-mbstring
The following NEW packages will be installed:
php-mbstring php7.2-mbstring
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/483 kB of archives.
After this operation, 1,723 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
بعد که -> y
Selecting previously unselected package php7.2-mbstring.
(Reading database ... 172060 files and directories currently installed.)
Preparing to unpack .../php7.2-mbstring_7.2.7-0ubuntu0.18.04.2_amd64.deb ...
Unpacking php7.2-mbstring (7.2.7-0ubuntu0.18.04.2) ...
Selecting previously unselected package php-mbstring.
Preparing to unpack .../php-mbstring_1%3a7.2+60ubuntu1_all.deb ...
Unpacking php-mbstring (1:7.2+60ubuntu1) ...
Setting up php7.2-mbstring (7.2.7-0ubuntu0.18.04.2) ...
Creating config file /etc/php/7.2/mods-available/mbstring.ini with new version
WARNING: Directory /etc/php/7.2/cli/conf.d doesn't exist, not enabling the module
WARNING: Directory /etc/php/7.2/apache2/conf.d doesn't exist, not enabling the module
WARNING: Directory /etc/php/7.2/cgi/conf.d doesn't exist, not enabling the module
php_invoke: Enabled module mbstring for cli sapi
php_invoke: Enabled module mbstring for apache2 sapi
php_invoke: Enabled module mbstring for cgi sapi
Setting up php-mbstring (1:7.2+60ubuntu1) ...
Processing triggers for libapache2-mod-php7.2 (7.2.7-0ubuntu0.18.04.2) ...
Warning: Could not load Apache 2.4 maintainer script helper.
الان من چی کارکنم؟
اون سه تا چیزی که گفته رو تو او ادرس ندارم!!!! چجوری باید اضافه کرد خیلی عجیبه.
اول دستور sudo -s یا sudo bash رو بزن
بعد دستور
update-alternatives --set php /usr/bin/php7.2
a2enmod php7.2
systemctl restart apache2
@haghft
میگه :
```
Command 'a2enmod' not found, but can be installed with:
apt install apache2
@mdaalvand
همونطور که گفتین نصب شد و دستورات اقای طهرانی هم رو اجرا کردم و اروری نداشتم .ولی وقتی دستور composer
رو میزنم باز.....ظاهرا حل نمیشه!!!...اخه این چجورشه ....باید کل اوبونتو رو دوباره نصب کنم؟!کلافه شدم
( همون ارور صفحه ی قبله)
Composer 1.6.3 2018-01-31 16:28:17
Usage:
command [options] [arguments]
Fatal error: Uncaught Error: Call to undefined function SymfonyPolyfillMbstringiconv() in /usr/share/php/Symfony/Polyfill/Mbstring/Mbstring.php:534
Stack trace:
#0 /usr/share/php/Symfony/Polyfill/Mbstring/bootstrap.php(46): SymfonyPolyfillMbstringMbstring::mb_strwidth('h', 'ASCII')
#1 /usr/share/php/Symfony/Component/Console/Helper/Helper.php(54): mb_strwidth('h', 'ASCII')
#2 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(329): SymfonyComponentConsoleHelperHelper::strlen('h')
#3 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(97): SymfonyComponentConsoleDescriptorTextDescriptor->calculateTotalWidthForOptions(Array)
#4 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(189): SymfonyComponentConsoleDescriptorTextDescriptor->describeInputDefinition(Object(SymfonyComponentConsoleInputInputDefinition), Array)
#5 /usr/share/php/Symfony/Component/Console/Descriptor/Descriptor.php(55): SymfonyComponentConsoleDescriptorTextDescriptor->desc in /usr/share/php/Symfony/Polyfill/Mbstring/Mbstring.php on line 534
فقط اگه واقعا درست نمیشه بهم بگین چیکار کنم اوبونتو رو دوباره نصب کنم یا اصلا اوبونتو نصب نکنم .ممنون از همتون
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟