Yii2框架打包成Phar包出错的经历
Yii2框架打包成Phar包报错的经历
以yii2为例
打包文件过程比较简单,但打包好以后,一直报错:
PHP Fatal error: Uncaught yii\base\InvalidParamException: The directory does not exist: phar:///Users/jimmy/PHP/Library/yii2-advanced/yii2.phar/console in phar:///Users/jimmy/PHP/Library/yii2-advanced/yii2.phar/base/Module.php:224
一开始一直以为是打包出了问题有文件没有被打包进去,换了各种姿势去打包,还是报各种错。
最后没办法的情况下,去看了报错的这个文件,发现用了realpath来判断路径是否存在,注释掉后,基本正常。这是php一个bug。
<code>/** * Sets the root directory of the module. * This method can only be invoked at the beginning of the constructor. * @param string $path the root directory of the module. This can be either a directory name or a path alias. * @throws InvalidParamException if the directory does not exist. */public function setBasePath($path){ $path = Yii::getAlias($path); $p = $path;//realpath(); if ($p !== false && is_dir($p)) { $this->_basePath = $p; } else { throw new InvalidParamException("The directory does not exist: $path"); }}</code>
http://git.oschina.net/web3d/codes/zyhsoev0b3i9u5njgaf42

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas


![Pengguna dan Komputer Direktori Aktif Tiada [Diperbaiki dalam 3 Cara]](https://img.php.cn/upload/article/000/465/014/168196830849131.png?x-oss-process=image/resize,m_fill,h_207,w_330)
Kehilangan Pengguna dan Komputer Direktori Aktif (ADUC) adalah salah satu isu paling mengecewakan yang dilaporkan oleh ramai pengguna Windows Pro. ADUC ialah snap-in MMC yang luar biasa yang membolehkan pentadbir mengurus Microsoft Active Directory. Walau bagaimanapun, atas sebab tertentu ia tiada dalam edisi Windows Server atau Enterprise/Pro. Mari kita lihat dengan lebih dekat mengapa ia hilang dan cara kita boleh membetulkannya. Adakah Windows 11 mempunyai Active Directory? Active Directory berguna untuk sesiapa sahaja yang ingin mengurus jauh

Cara menetapkan pembolehubah persekitaran PATH dalam sistem Linux Dalam sistem Linux, pembolehubah persekitaran PATH digunakan untuk menentukan laluan di mana sistem mencari fail boleh laku pada baris arahan. Menetapkan pembolehubah persekitaran PATH dengan betul membolehkan kami melaksanakan perintah sistem dan arahan tersuai di mana-mana lokasi. Artikel ini akan memperkenalkan cara untuk menetapkan pembolehubah persekitaran PATH dalam sistem Linux dan memberikan contoh kod terperinci. Lihat pembolehubah persekitaran PATH semasa Jalankan arahan berikut dalam terminal untuk melihat pembolehubah persekitaran PATH semasa: echo$P

Editor Laporan Kuasa Mesin: Wu Xin Versi domestik robot humanoid + pasukan model besar menyelesaikan tugas operasi bahan fleksibel yang kompleks seperti melipat pakaian buat kali pertama. Dengan pelancaran Figure01, yang mengintegrasikan model besar berbilang modal OpenAI, kemajuan berkaitan rakan domestik telah menarik perhatian. Baru semalam, UBTECH, "stok robot humanoid nombor satu" China, mengeluarkan demo pertama robot humanoid WalkerS yang disepadukan secara mendalam dengan model besar Baidu Wenxin, menunjukkan beberapa ciri baharu yang menarik. Kini, WalkerS, diberkati oleh keupayaan model besar Baidu Wenxin, kelihatan seperti ini. Seperti Rajah01, WalkerS tidak bergerak, tetapi berdiri di belakang meja untuk menyelesaikan satu siri tugasan. Ia boleh mengikut perintah manusia dan melipat pakaian

Dengan pembangunan PHP dan pengembangan berterusan senario aplikasi, sambungan Phar telah menjadi bahagian penting dalam pengaturcaraan PHP. Phar ialah singkatan PHPArchive, yang boleh membungkus berbilang fail dan sumber PHP ke dalam satu fail untuk pengedaran dan pengurusan yang mudah. Artikel ini akan memperkenalkan cara menggunakan sambungan Phar PHP untuk pembungkusan dan pengurusan. Memasang sambungan Phar Mula-mula, kita perlu menyemak sama ada PHP telah memasang sambungan Phar. Di bawah Linux, masukkan arahan berikut melalui terminal: php -m

Kaedah untuk menetapkan pembolehubah persekitaran laluan: 1. Sistem Windows, buka "System Properties", klik pilihan "Properties", klik "Advanced System Settings", dalam tetingkap "System Properties", pilih tab "Advanced", dan kemudian klik butang "Environment Variables" ", cari dan klik "Path" untuk mengedit dan menyimpan; 2. Untuk sistem Linux, buka terminal, buka fail konfigurasi bash anda, tambah "export PATH=$PATH: file path" pada penghujung fail dan simpannya; 3. Untuk sistem MacOS, operasi adalah sama seperti di atas.

"Peranan dan Kepentingan Pembolehubah Persekitaran PATH dalam Linux" Pembolehubah persekitaran PATH ialah salah satu pembolehubah persekitaran yang sangat penting dalam sistem Linux. Ia mentakrifkan direktori di mana sistem mencari program boleh laku. Dalam sistem Linux, apabila pengguna memasukkan arahan dalam terminal, sistem akan mencari satu demi satu dalam direktori yang disenaraikan dalam pembolehubah persekitaran PATH untuk melihat sama ada fail boleh laku perintah itu wujud, ia akan dilaksanakan. Jika tidak, "commandnotfound" akan digesa. Peranan pembolehubah persekitaran PATH: Dipermudahkan

Cara menetapkan pembolehubah persekitaran PATH dengan betul dalam Linux Dalam sistem pengendalian Linux, pembolehubah persekitaran ialah salah satu mekanisme penting yang digunakan untuk menyimpan maklumat konfigurasi peringkat sistem. Antaranya, pembolehubah persekitaran PATH digunakan untuk menentukan direktori di mana sistem mencari fail boleh laku. Menetapkan pembolehubah persekitaran PATH dengan betul adalah langkah utama untuk memastikan operasi normal sistem. Artikel ini akan memperkenalkan cara menetapkan pembolehubah persekitaran PATH dengan betul dalam Linux dan memberikan contoh kod khusus. 1. Semak pembolehubah persekitaran PATH semasa dan masukkan arahan berikut dalam terminal

Langkah-langkah konfigurasi: 1. Cari direktori pemasangan Java; 2. Cari tetapan pembolehubah persekitaran sistem 3. Dalam tetingkap pembolehubah persekitaran, cari pembolehubah bernama "Laluan" dan klik butang edit; tetingkap pembolehubah , klik butang "Baharu", dan masukkan laluan pemasangan Java dalam kotak dialog pop timbul 5. Selepas mengesahkan bahawa input adalah betul, klik butang "OK".
