發表文章

目前顯示的是有「composer」標籤的文章

composer 安裝套件出現記憶體不足的情形排除

在很少見的情形下,用 composer 安裝套件時出現記憶體不足的狀況,安全性的考量在此先略過不談,單就處理安裝的角度來處理排除的工作。 症狀: Fatal error: Allowed memory size of ########## bytes exhausted 工作環境:   php 7.3   composer require iseed   確認記憶體設定值:     $php -r "echo ini_get('memory_limit').PHP_EOL;" 試著在這個工作階段略過記憶體設定值的限制:     $composer COMPOSER_MEMORY_LIMIT=-1 require orangehill/iseed    (我失敗了)     $php -d memory_limit=-1 composer.phar require orangehill/iseed    (我失敗了)     $php composer.phar COMPOSER_MEMORY_LIMIT=-1 require orangehill/iseed (我失敗了)     $COMPOSER_MEMORY_LIMIT=-1 composer require orangehill/iseed (我失敗了)          $set COMPOSER_MEMORY_LIMIT=-1     $composer require orangehill/iseed     終於成功!      收工!

php composer 的安裝方式更新

印象中 composer 很好裝的,怎麼官網的說明變得多了,卻也感覺讓一個簡單的安裝變得複雜,做為開源工具的使用者,又要開始游牧了,這種生態好像就像是開源工具使用者的 DNA ,自然就難以擺脫游魂一般的命運了 如果直覺的依據官網提供的裝法其實很簡單:把這裏的4行複製貼上到終端機的命令列中: https://getcomposer.org/download/ $cd --------- $php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $php composer-setup.php $php -r "unlink('composer-setup.php');" --------- 又參考這個:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-18-04 一步一步跟著作也可以裝好 But, 人就是懶又貪,還看到官網寫著,可以用程式來安裝,在這裏: https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md  得再多試幾次,我真是愛自找麻煩的傢伙 工作環境: Windows 10 ...

composer 安裝 laravel error Permission denied

為了要安裝 laravel,因為對於 vagrant 、 docker 這些工具都不熟悉,只能手動建置平台,也就因此遇到一些前人已經處理完的問題,這次是權限問題 $composer global require laravel/installer   [ErrorException]   file_put_contents(./composer.json): failed to open stream: Permission denie   d 因為權限的問題,所以在本機用非 root 帳號使用 composer 時,出現了以上的錯誤訊息,但是 composer 也不建議用 root 帳號安裝,那麼得來處理一下這個權限問題。 $sudo chown -R $USER.$USER ~/.composer/ 再裝一次 laravel $composer global require laravel/installer 應該就可以了

composer 安裝 laravel error ext-zip

試著不用 homestead, docker 這些工具,自行安裝 laravel, 之前已經安裝完成了 composer 接著就是要安裝 laravel 了,根據官網的說明,只要滿足一些套件就可以了,     PHP >= 7.1.3     OpenSSL PHP Extension     PDO PHP Extension     Mbstring PHP Extension     Tokenizer PHP Extension     XML PHP Extension     Ctype PHP Extension     JSON PHP Extension 工作環境:   Windows 10 + virtualbox   guest: ubuntu 18 server $composer global require laravel/installer error:   ext-zip * -> the requested PHP extension zip is missing from your system ... 應該是要安裝 php-zip 或是 phpVersion-zip ,但是,找不到 @@" 這時侯,請更新 /etc/apt/source.list (請記得先備份哦) $vim  /etc/apt/source.list 加上 universe 類別的套件  ---------- deb http://archive.ubuntu.com/ubuntu bionic main universe deb http://archive.ubuntu.com/ubuntu bionic-security main universe deb http://archive.ubuntu.com/ubuntu bionic-updates main universe  -------...

Ubuntu 18 MySQL root 帳密設定

在 Ubuntu 18 server 安裝了 phpmyadmin 結果 root 帳密無法登入,會出現類似 root 帳號不能空白。 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server 用 root 登入 mysql: $ sudo su - $ mysql -uroot 確認你的使用者在資料庫中 mysql> SELECT User,Host FROM mysql.user; +------------------+-----------+ | User                  | Host      | +------------------+-----------+ | admin               | localhost | | root                  | localhost | 設定你的密碼 mysql> UPDATE user SET authentication_string=PASSWORD("YOUR_PASSWORD") WHERE User='root'; 改認證方式 mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root'; 最用權限 mysql> FLUSH PRIVILEGES; =================== 如果已經被改到進不去資料庫的解法 $ sudo service mysql stop $ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo /usr/sbin/mysqld --skip-grant-tables --skip-network...

安裝 composer 的方式 更新

安裝 php 的套件管理工具:composer 現在變得更簡單了。 可以參照 https://getcomposer.org/download/ 的方式 因為我想要直接就把 composer 裝到 /usr/local/bin 底下,方便所有人使用,所以第3個步驟要修改(記得要用 sudo 不然沒有權限裝不上),或是裝在你有權限的PATH目錄(--install-dir)裏,因為我用自已的機器,所以就裝到/usr/local/bin裏了: php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === '41e71d86b40f28e771d4bb662b997f79625196afcca95a5abf44391188c695c6c1456e16154c75a211d238cc3bc5cb47') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"  sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer php -r "unlink('composer-setup.php');" 之後只要下 composer 就能 composer 了。 composer 安裝比之前好搞了,收工!

php 套件管理使用 Composer

php 目前的套件管理趨勢是使用 composer,在使用 composer 的時侯,只要告訴 composer 你要使用的套件,有時侯要指定套件的版本,的維護是靠專案內的 composer.json 這個檔,也就是說,套件的資料夾如果被移除了,只要這個維護檔還在,要把套件裝回來,composer install 就行。 取得 composer     curl -sS https://getcomposer.org/installer | php 把 composer 放到可以取用的 path 中就裝好了     mv composer.phar /usr/local/bin/composer 或是     echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc     source ~/.bashrc 如果是 windows 下     @set  COMPOSER_HOME=%WAGON_ROOT%composer     @set  PATH=%COMPOSER_HOME%vendorbin 舉例來說,在開發的時侯,找到一個可以用來產生測試資料用的套件叫作 Faker ,以往的動作是下載 faker,解壓縮到伺服器上,然後呼叫這個套件來使用,透過 composer 的話,只要在伺服器上下個指令 composer require fzaninotto/faker 就裝好,可以直接呼叫使用。 composer update: 昇級套件 composer self-update: 昇級 composer composer show -i 顯示目前安裝的 php 套件 global 安裝的方式,會將元件安裝在 composer_home 目錄底下,將 composer_home/vendor/bin 加入 PATH 後,即可全域使用該指令 composer global require vendor/package:version 安裝到正式機器上時 composer ins...