每当我尝试访问phpMyAdmin时,都会收到以下错误:
" 缺少mbstring扩展名.请检查您的PHP配置. "
我在CentOS 7服务器上运行LEMP堆栈.我选择使用PHP 7进行此安装.我没有在运行早期版本的PHP的相同设置上遇到此错误.
extension_loaded('mbstring')
即使mbstring.ini(/etc/php.d/)包含:
; Enable mbstring extension module
extension=mbstring.so
Run Code Online (Sandbox Code Playgroud)
我100%确定我的服务器上安装了mbstring模块.
我完全难过,所以如果有任何想法,请告诉我.谢谢.
我正在尝试将我的服务器重新设置为Lemp堆栈
我现在遇到的问题是安装没有 Apache的PHP 7 ,因为nGinx将是我的网络服务器.
所以,我补充说ppa:ondrej/php
.跑了apt-get update
,试图通过php7.0安装apt-get install php7.0
--nodeps
标志不起作用,因为我在Ubuntu 15.10上
我被告知:
The following extra packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libqdbm14
php-common php-readline php7.0 php7.0-cli php7.0-common php7.0-json
php7.0-opcache php7.0-readline
Suggested packages:
apache2-doc apache2-suexec-pristine apache2-suexec-custom php-pear
php-user-cache
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libqdbm14
php php-common php-readline php7.0 php7.0-cli php7.0-common php7.0-json
php7.0-opcache php7.0-readline
Run Code Online (Sandbox Code Playgroud)
我 …
如何在Ubuntu上安装PHP 7(PHP下一代)?
我想在干净安装的Ubuntu上安装PHP 7,看看我会遇到什么问题.
这是官方(但微薄的指南):
当我遇到问题时,我正在重构一个用于PHP7的代码库,特别是实现标量类型提示和返回类型提示.
我有一个属性的类,其中一个属性.此id不是必需的(您可以在不设置ID的情况下构造对象).在创建此类的新对象时,不要设置id,并且只要将其插入db(通过单独的映射器类),它就会获得id.
此映射器类需要检查对象是否已存在于db中,并通过检查是否已设置id来执行此操作:
if(empty($exampleObject->getId())) {
// Insert object
} else {
// Update object
}
Run Code Online (Sandbox Code Playgroud)
我将返回类型提示应用于我的代码库中的每个函数,问题是如果我强制执行int返回类型,函数getId()
不能返回NULL.It TypeErrors,即使没有启用严格的输入:
致命错误:未捕获TypeError:ExampleClass :: getId()的返回值必须是integer类型,返回null
我认为没有为此getter设置返回类型提示,但我意识到问题可能不是返回类型提示,而是我使用混合返回类型的事实.我记得在某处读过使用混合返回类型是一件坏事,但我不知道如何在不使用混合返回类型的情况下解决这个问题.我可以:
hasId() return isset($this->id)
坦率地说,不喜欢任何这些解决方案,我想知道是否有更好的选择.对于这样的案例,最佳做法是什么?
另外,如果我启用了严格的输入,我不应该只获得TypeError吗?我认为PHP7默认为"弱类型提示".
我最近在Windows 7操作系统(32位)中安装了PHP 7.我使用FTP库nicolab/php-ftp-client进行FTP功能,我得到一个例外
致命错误:未捕获FtpClient\FtpException:未加载FTP扩展!在
我看到了代码,有
if (!extension_loaded('ftp')) {
throw new FtpException('FTP extension is not loaded!');
}
Run Code Online (Sandbox Code Playgroud)
所以我通过php检查了加载的扩展名
C:\Users\Tamil>php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
filter
gd
hash
iconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
SimpleXML
soap
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Run Code Online (Sandbox Code Playgroud)
没有ftp扩展名.但是在PHP网站http://php.net/manual/en/ftp.installation.php中
Windows版本的PHP内置支持此扩展.您无需加载任何其他扩展即可使用这些功能.
我多次重启apache.仍显示FTP异常错误.你能指导我解决这个问题吗?
PHP版本是
C:\Users\Tamil>php -v
PHP 7.0.0 (cli) (built: Dec 3 2015 11:36:59) (ZTS ) …
Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我html/css从上到下,从右到左(如在书中)打印日文文本而不改变字符的实际标识?我使用的是UTF-16,如果有帮助的话.
我们正在尝试从PHP5切换到PHP7.
我们现在安装了Apache并且PHP可以运行.
但是,我们在php.ini
文件中所做的更改不起作用.
通过phpinfo()
我们意识到原因是,Configuration File (php.ini) Path
是C:\Windows
.
在我们的httpd.conf
,我们有:
# PHP7 setup
LoadFile "C:/test/php/php7ts.dll"
LoadModule php7_module "C:/test/php/php7apache2_4.dll"
AddHandler php7-script .php
PHPINIDir "C:/test/php"
Run Code Online (Sandbox Code Playgroud)
我理解的是应该让Apache查找php.ini
in c:\test\php
(正确的斜杠在http.conf中使用)
不理解为什么Apache不找php.ini
我们告诉它,我们把php.ini
在c:\Windows
那里仍无法读取(这是我们在加载模块php.ini
没有在的phpinfo加载).
每次我们对php.ini
or 进行更改时httpd.conf
,我们都会使用Apache监视器重启Apache.
php.ini
除了我们上面尝试过的以外,我们如何告诉Apache读取特定目录中的文件?
我们将所有内容都切换回PHP5,现在得到的错误与上面截图中的PHP路径相同.它说它现在是PHP 5.6.0所以它显然加载了新的PHP版本,但是有些东西已经改变,所以在任一版本中都没有读取php.ini文件.(???)
重启也无济于事.
例如:
$array = [];
echo $array['bar']; // PHP NOTICE - trying to access not existing key`
$array['bar'][] = 'foo'; // Nothing
Run Code Online (Sandbox Code Playgroud)
我知道它创建了带有索引'bar'的数组,但PHP如何在内部处理?
我从mamp download-pages下载了php 7文件夹并将其复制到mamp/bin/php中,但它没有显示在我的mamp pro php选择中(重启后).有人有同样的问题吗?
在Ruby中有<=>
运算符.在API中,他们没有命名,只是:
该类必须定义<=>运算符...
可比较使用<=>实现传统比较......
...集合中的对象还必须实现有意义的<=>运算符...
它叫什么名字?