私は最近、私の開発サーバーでPHP 7に切り替えました。これは今までうまく機能していました。
PHP 7.0.3-10+deb.sury.org~trusty+1
に更新したため(本日前)、utf8_decode
およびutf8_encode
関数にアクセスできなくなりました。ただし、これらは以前のバージョンのPHP7にありました。呼び出されると、致命的なエラーが発生します。
これらの関数はmbstring
拡張機能によって提供されていることを読みましたが、var_dump(extension_loaded('mbstring'));
がロードされていることを確認しました。
上記の機能を再び機能させるにはどうすればよいですか?
同じ問題がありました。 php7.0-xml
パッケージをインストールするだけです。 Ubuntu 16.04:
Sudo apt-get install php7.0-xml
編集:Apache2を再起動新しいパッケージをロードします。
Ubuntuでは、PHP7のアップグレード中に次のメッセージが表示されました。
php7.0 (7.0.3-6) unstable; urgency=medium
* Several extensions have been split into separate extension packages:
- php-dba - Database (dbm-style) Abstraction Layer
- php-mbstring - Multibyte String
- php-soap - SOAP
- php-xml - DOM, SimpleXML, WDDX, XML, XMLReader and XMLWriter
- php-Zip - Zip
* The new packages are not installed automatically, so you will need to
install them by hand, if you use the functions in those modules.
* Most modules that have been builtin before are now included in
php7.0-common package and they are enabled by default for your
convenience. You can disable unneede modules via phpdismod tool.
-- Ondřej Surý <[email protected]> Mon, 22 Feb 2016 12:37:09 +0100
そのため、問題の原因となっているパッケージの1つです。この場合、それはphp-xml
です。
に注意してください
新しいパッケージは自動的にインストールされません
あなたはそれを修正することができます
Sudo apt-get install php-xml
Sudo Apache2ctl graceful
トップ投票の答えが私のために機能しなかったので、私はphp7用の別のパッケージを見つけました(名前で明らかです)
Sudo apt-get install php7.0-mbstring
CentOSを使用している場合、次のコマンドが機能するはずです。
yum install php-xml
Ubuntu 16.04 LTSでphp 5.6を使用する場合、次を試してください。
Sudo apt-get install php5.6-xml
Sudo service Apache2 restart
Utf8_decodeおよびutf8_encode関数は、PHP 7でアクセスできます。
function.utf8-encode-manual-php
これは、phpインストールにphp-xmlパッケージがないためです。
サーバーでMandrakeが実行されている場合は、「urpmi php-xml」と入力します。
サーバーがWindowsでEASYPHPを実行している場合は、EASYPHPロゴをクリックしてphp-xmlモジュールをアクティブにします。
Debianまたはubuntuの場合:
apt-get install php7.0-xmlrpc