16.04 安裝 php5-oldstable失敗 [論壇 - 伺服器架設]
正在瀏覽:
1 名遊客
16.04 安裝 php5-oldstable失敗 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2018/6/20 18:27 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 0
![]() |
大家好,我在16.04想要安裝php5.4,爬文看到說要透過php5-oldstable,不過一開始似乎就碰到問題了,我在執行下面指令就出現了這些訊息,不知道該如何下手。
不好意思,麻煩大家了,謝謝! sudo apt-add-repository ppa:ondrej/php5-oldstable Cannot add PPA: 'ppa:~ondrej/ubuntu/php5-oldstable'. The user named '~ondrej' has no PPA named 'ubuntu/php5-oldstable' Please choose from the following available PPAs: * 'apache2': PPA for Apache 2.x * 'apache2-qa': PPA for Apache2 (QA builds; experimental) * 'autotools': PPA for autotools (not-supported; build-dependency; experimental) * 'bind9': PPA for BIND 9 * 'cmake': PPA for CMake (not-supported, experimental) * 'common': Common PPA packages * 'courier': PPA for Courier MTA * 'cyrus-imapd': PPA for Cyrus IMAP * 'debhelper': PPA for Debhelper (and friends) * 'golang': PPA for Go (experimental, build-dependency) * 'llvm': PPA for LLVM * 'mariadb-10.0': PPA for MariaDB 10.0 (don't use, broken) * 'mysql-5.5': PPA for MySQL 5.5 (don't use, broken) * 'mysql-5.6': PPA for MySQL 5.6 (don't use, broken) * 'mysql-5.7': PPA for MySQL 5.7 (don't use, broken) * 'nginx': PPA for NGINX with HTTP/2 on Ubuntu 14.04 LTS and higher * 'nginx-mainline': PPA for NGINX Mainline with HTTP/2 on Ubuntu 14.04 LTS and higher * 'pelican': PPA for Pelican * 'php': ***** The main PPA for supported PHP versions with many PECL extensions ***** * 'php-qa': PPA for PHP (QA builds; experimental) * 'php-zts': PPA for PHP ZTS (experimental, unsupported) * 'php5-compat': PPA with dummy compatibility php5* packages * 'pkg-dpkg': dpkg and friends (very experimental) * 'pkg-gearman': PPA for Gearman * 'pkg-nlnetlabs': NLNetLabs Backported Packages * 'sandbox': Sandbox for preparation of various packages (DON'T USE) * 'seafile': PPA for Seafile * 'unbound': PPA for Unbound (mainly a build-dep) * 'zonemaster': PPA for Zonemaster
2018/6/20 20:01
|
||||||||||
![]() |
回覆: 16.04 安裝 php5-oldstable失敗 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
[回到索引]
================================================================================ julian560 寫到: 我不清楚詳細的步驟如何解決您原本要執行的議題「16.04想要安裝php5.4」, 不過可以先引導您去研究關於「PPA (Personal Package Archive)」的概念, 可以先參考這篇文章「Ubuntu Linux 新增與移除 PPA 個人套件庫指令教學 - G. T. Wang」。 * https://help.launchpad.net/Packaging/PPA/InstallingSoftware * https://help.launchpad.net/Packaging * https://help.launchpad.net/Packaging/PPA 也可以對照 manpage 來閱讀 $ man add-apt-repository 接著關於您原本要執行的「sudo apt-add-repository ppa:ondrej/php5-oldstable」。 您可以用「ondrej」當關鍵字找尋, 就可以找到下面這個網址 * https://launchpad.net/~ondrej 您點進去這個網址,就可以看到下方有一個「Personal package archives」的標題,然後下面有列表, 那個列表,您可以對照您原本貼的訊息(下面藍色) julian560 寫到: ================================================================================ 之前有紀錄一個索引「[索引] 套件操作實務」,可以找到相關的討論案例,關於「套件庫」 例如這篇「#2 回覆: apt 出現許多錯誤訊息」。 簡易的套件庫範例 * https://github.com/samwhelp/play-ubuntu-18.04-ppa * https://github.com/samwhelp/demo-repository-ubuntu ================================================================================ 後來使用「php multi version」當關鍵字查詢 找到一篇「How to Install Different PHP (5.6, 7.0 and 7.1) Versions in Ubuntu」 裡面就有提到「sudo add-apt-repository ppa:ondrej/php」,猜測您應是參考這篇文章,或是參考類似的文章。 ================================================================================ 若不能透過安裝套件的方式安裝,提供另一個方向 之前知道有一個專案「Phpbrew (GitHub)」, 我沒有實際去測試過,所以不確定是否能解決您的問題, 提供您參考,給您一個方向去研究測試和確認。 再不然最終的方向,就是要研究自行編譯php成apache的模組了。 * http://php.net/releases/ * http://php.net/downloads.php * http://php.net/manual/en/install.unix.php * http://php.net/manual/en/install.php ================================================================================ 以下我測試的環境是「Ubuntu 18.04」 以下只是簡易的探索紀錄 執行
顯示
執行
顯示
執行
顯示
執行
顯示
執行
顯示 Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libminiupnpc10 xbase-clients Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: apache2-dev chrpath comerr-dev default-mysql-server dh-systemd flex krb5-multidev libaio1 libapparmor-dev libapr1 libapr1-dev libaprutil1 libaprutil1-dev libargon2-0-dev libaspell-dev libbsd-dev libc-client2007e libc-client2007e-dev libdb-dev libdb5.3-dev libedit-dev libenchant-dev libevent-core-2.1-6 libevent-dev libevent-extra-2.1-6 libevent-openssl-2.1-6 libevent-pthreads-2.1-6 libgcrypt20-dev libgmp-dev libgmp3-dev libgmpxx4ldbl libgpg-error-dev libgssrpc4 libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-9 libkrb5-dev libldap2-dev libmagic-dev libmcrypt-dev libmcrypt4 libmhash-dev libonig-dev libonig4 libpam0g-dev libpci-dev libpspell-dev libqdbm-dev libqdbm14 librecode-dev librecode0 libsasl2-dev libsctp-dev libsctp1 libsensors4-dev libsnmp-dev libsodium-dev libsystemd-dev libtidy-dev libwebp-dev libwrap0-dev libxml2-dev libxmlrpc-epi-dev libxmlrpc-epi0 libxmltok1 libxmltok1-dev libxslt1-dev libzip-dev locales-all mlock mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7 mysql-server-core-5.7 netcat-traditional re2c systemtap-sdt-dev uuid-dev 0 upgraded, 78 newly installed, 0 to remove and 0 not upgraded. Need to get 36.2 MB of archives. After this operation, 361 MB of additional disk space will be used. Do you want to continue? [Y/n] 也可以執行下面指令研究看看
還有
若已經有安裝「libapache2-mod-php7.2」, 就可以執行下面指令,了解「libapache2-mod-php7.2」這個套件安裝那些檔案在系統上
顯示
若有安裝「apache2-dev」這個套件 可以執行下面指令
顯示
之前有紀錄一篇「探索php套件」的討論「#56 回覆: Ubuntu 17.10 推出」,也可以參考。 另外上面我提到的指令若不能正常執行, 請參考這篇「#24 回覆: Ubuntu 17.10 推出 - 執行「apt-get source some_package」的前置作業 (下載「Source Package」的前置作業)」 ================================================================================ 以上提供參考 報告完畢 ![]() ================================================================================ [回到索引]
2018/6/21 10:48
|
||||||||||
![]() |
回覆: 16.04 安裝 php5-oldstable失敗 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2018/6/20 18:27 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 0
![]() |
感謝您這麼熱心的回覆,您似乎一下就看出我的問題了,我再研究一下,因為php5.4是比較舊的版本,所以碰到了點問題。
再次謝謝您的幫忙。
2018/6/21 13:22
|
||||||||||
![]() |
回覆: 16.04 安裝 php5-oldstable失敗 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
以下先簡易紀錄我測試自行編譯成功的步驟,爾後再找時間再來修改,補充詳細說明和我發現到要注意的地方。
我測試的環境是在「Ubuntu 18.04」,目前還沒有「Ubuntu 16.04」的環境來測試。 所以以下的步驟,提供您一個參考,由您自行調整操作步驟,嘗試在「Ubuntu 16.04」編譯。 我有寫了一個簡單的專案「demo-ubuntu-php-build」放在「GitHub」上。 * Prototype * Project ================================================================================ 在我的環境已經有先安裝了「apache2」和「php7.2」。
================================================================================ ### prepare 執行下面指令,安裝編譯需要的工具
執行下面指令,安裝編譯PHP時有可能需要的相關套件 (可以對照我在「#2」套件探索)
================================================================================ ### download 可以到「http://php.net/releases/」這個網址,找到「5.4.45」的版本。 執行下面指令,下載「php-5.4.45.tar.bz2」。
會下載一個檔案「php-5.4.45.tar.bz2」 ================================================================================ ### extract 執行下面指令,解開「php-5.4.45.tar.bz2」
會產生一個資料夾「php-5.4.45」 ================================================================================ ### work dir 執行下面指令,切換到資料夾「php-5.4.45」
================================================================================ ### configure 參考「http://php.net/manual/en/install.unix.apache2.php」。 執行下面指令,設定編譯參數,並且產生相關的檔案
上面的參數,先簡單設定,其餘的參數,請執行「./configure --help」,自行加入測試確認。 ================================================================================ ### build 上面若沒有出錯,就可以執行下面指令編譯。
================================================================================ ### install 上面若沒有出錯,就可以執行下面指令安裝。
會安裝到「/opt/php-5.4.45」這個資料夾, 還有安裝一個檔案「/usr/lib/apache2/modules/libphp5.so」, 以及安裝一個檔案「/etc/apache2/mods-available/php5.load」。 ================================================================================ ### mod-install 原本的「/etc/apache2/mods-available/php5.load」檔案內容如下 LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 請修改內容如下 # Conflicts: php7.2 # Depends: mpm_prefork LoadModule php5_module /usr/lib/apache2/modules/libphp5.so AddType application/x-httpd-php .php ================================================================================ ### mod-enable 執行下面指令,確保「mpm_prefork」是啟用的
執行下面指令,確保「php7.2」是關閉的
然後執行下面指令,啟用「php5」
================================================================================ ### ini-development 執行下面指令,複製「php.ini-development」到「/opt/php-5.4.45/lib/php.ini」
================================================================================ ### apache-restart 執行下面指令,重新開啟「apache2」。
================================================================================ ### info-install 產生一個檔案「/var/www/html/info.php」。
檔案內容填入如下 <?php phpinfo(); ================================================================================ ### info-view 然後在瀏覽器觀看「http://localhost/info.php」這個網址。
正常的情況下,可以在頁面看到「PHP Version 5.4.45」。 ================================================================================ 以上提供參考 報告完畢 ![]()
2018/6/23 1:48
|
||||||||||
![]() |
回覆: 16.04 安裝 php5-oldstable失敗 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 37
HP : 0 / 901
![]() |
延續上面「#4」討論到的,在「Ubuntu 18.04」自行編譯「php-5.4.45」。
剛剛在「Virtual Box」安裝了「Xubuntu 16.04」來測試, 也紀錄了「16.04」的「操作步驟」放在「GitHub」上。 是可以編譯成功的。 請對照上面「#4」提到的操作步驟。 要在「16.04」,主要修改的地方,只要將「php7.2」改成「php7.0」,就可以了 例如: ================================================================================ ### prepare 執行下面指令,安裝編譯PHP時有可能需要的相關套件 (可以對照我在「#2」套件探索)
================================================================================ 以上提供參考 報告完畢 ![]()
2018/6/24 13:43
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.