1

私の作業中のubuntu 12.04サーバーに、次のコマンドを使用してphpのcurl拡張機能をインストールしました。

apt-get install curl
apt-get install php5-curl
service apache2 restart

そのphpを実行した後
、.phpページをリクエストすると、Firefoxはスクリプトを実行する代わりにファイルをダウンロードしようとします。いくつかの調査の後、ディレクトリの下にファイルへのリンクがない

ことがわかりました。/etc/apache2/mods-enabled/

/etc/apache2/mods-available/php5.conf
/etc/apache2/mods-available/php5.load

そのため、コマンドを実行するa2enmod php5とリンクが作成されまし
たが、昼食時にservice apache2 restart次のような行
/var/log/apache2/error.log見つかりました。

PHP Warning: PHP Stratup: Unable to load dynamic library '/usr/lib/php5/20100525/pdo.so' - /usr/lib/php5/20100525/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

さまざまなエクステンション用。ディレクトリがもう存在しない
ことを確認しましたが、.so ファイルを含む ディレクトリが見つかりました 。ディレクトリが空で、リンクがないこともわかりましたが、すべての .ini ファイルは次の場所にあります。/usr/lib/php5/20100525/
/usr/lib/php5/20121212/

/etc/php5/conf.d/etc/php5/mods-available

私の質問は次のとおりです。なぜアップデートがこれらすべての問題を引き起こしたのですか?
どうすればそれを修正できますか? /usr/lib/php5/20100525/解決策は参照を からに変更できます/usr/lib/php5/20121212/か? どこでそれを行うことができますか?

助けてくれてありがとう、私の英語でごめんなさい

更新
私はsebによって提案されたようにリンクを作成しました

ln -s /usr/lib/php5/20121212/ /usr/lib/php5/20100525

しかし、Apacheを再起動すると、エラーで失敗します:

apache2: Syntax error on line 210 of /etc/apache/apache2.conf:
Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load:
Cannot load /usr/lib/apache2/modules/libphp5.so into server:
/usr/lib/apache2/modules/libphp5.so:
cannot open shared object file: No such file or directory

php を再インストールすることで問題を解決できますか? はいの場合、どうすればそれを行うことができますか? 再度、感謝します

更新
数回失敗した後、スナップショットから仮想マシンを復元し、aptitude を使用して問題を解決しました。

aptitude install php5-curl
The following NEW packages will be installed:
  libcurl3{a} libjson-c2{a} php5-curl php5-json{a} 
The following packages will be upgraded:
  php5-common 
1 packages upgraded, 4 newly installed, 0 to remove and 130 not upgraded.
Need to get 722 kB of archives. After unpacking 820 kB will be used.
The following packages have unmet dependencies:
 libapache2-mod-php5 : Dipende: php5-common (= 5.4.12-2~precise+1) but 5.5.3+dfsg 1+debphp.org~precise+2 is to be installed.
 php5-gd : Dipende: php5-common (= 5.4.12-2~precise+1) but 5.5.3+dfsg-1+debphp.org~precise+2 is to be installed.
 php5-mcrypt : Dipende: php5-common (= 5.4.12-2~precise+1) but 5.5.3+dfsg-1+debphp.org~precise+2 is to be installed.
 php5-mysql : Dipende: php5-common (= 5.4.12-2~precise+1) but 5.5.3+dfsg-1+debphp.org~precise+2 is to be installed.
 php5-cli : Dipende: php5-common (= 5.4.12-2~precise+1) but 5.5.3+dfsg-1+debphp.org~precise+2 is to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:              
1)     libapache2-mod-php5                       
2)     php5                                      
3)     php5-cli                                  
4)     php5-gd                                   
5)     php5-mcrypt                               
6)     php5-mysql                                
7)     phpmyadmin                                

     Leave the following dependencies unresolved:
8)     libapache2-mod-php5 recommends php5-cli   


Accept this solution? [Y/n/q/?] n

この最初の解決策はいいえと答えまし
た 2番目に提案された解決策は

The following actions will resolve these dependencies:
      Remove the following packages:
1)      apache2.2-bin 
2)      apache2.2-common 

      Install the following packages:
3)      apache2-bin [2.4.6-2~precise+1 (precise)] 
4)      apache2-data [2.4.6-2~precise+1 (precise)]
5)      libgd3 [2.1.0-2~precise+1 (precise)]
6)      liblua5.1-0 [5.1.4-12ubuntu1 (precise)]
7)      libtiff4 [3.9.5-2ubuntu1.5 (precise-security, precise-updates)]
8)      libvpx1 [1.0.0-1 (precise)]
9)      php5-readline [5.5.3+dfsg-1+debphp.org~precise+2 (precise)]

      Upgrade the following packages:
10)     apache2 [2.2.22-1ubuntu1.2 (now) -> 2.4.6-2~precise+1 (precise)]
11)     apache2-mpm-itk [2.2.22-1ubuntu1.2 (now) -> 2.4.6-2~precise+1 (precise)]
12)     libapache2-mod-php5 [5.4.12-2~precise+1 (now) -> 5.5.3+dfsg-1+debphp.org~precise+2 (precise)]
13)     libaprutil1 [1.3.12+dfsg-3 (now, precise) -> 1.5.2-1~precise+1 (precise)]
14)     libaprutil1-dbd-sqlite3 [1.3.12+dfsg-3 (now, precise) -> 1.5.2-1~precise+1 (precise)]
15)     libaprutil1-ldap [1.3.12+dfsg-3 (now, precise) -> 1.5.2-1~precise+1 (precise)]
16)     php5-cli [5.4.12-2~precise+1 (now) -> 5.5.3+dfsg-1+debphp.org~precise+2 (precise)]
17)     php5-gd [5.4.12-2~precise+1 (now) -> 5.5.3+dfsg-1+debphp.org~precise+2 (precise)]
18)     php5-mcrypt [5.4.12-2~precise+1 (now) -> 5.5.3+dfsg-1+debphp.org~precise+2 (precise)]
19)     php5-mysql [5.4.12-2~precise+1 (now) -> 5.5.3+dfsg-1+debphp.org~precise+2 (precise)]

Accept this solution? [Y/n/q/?] y

この 2 番目の解決策を受け入れ、インストールは成功しました。Apache 2.4 の仮想ホストの構成を調整するだけで済みました。

4

1 に答える 1

0

なぜそれが起こったのか今はわかりませんが、 /usr/lib/php5/20121212/ を /usr/lib/php5/20100525/ にリンクすることができます

ln -s /usr/lib/php5/20121212/ /usr/lib/php5/20100525/

したがって、すべての構成ファイルを変更する必要はありません。

アップデート:

でphpを再インストールできます

apt-get purge php5
apt-get install php5

apt-getよりも優れたパッケージマネージャーだと思いますaptitude

于 2013-08-30T15:29:16.043 に答える