我已经安装了PHP 7,mysql5.7,Apache2.2,CentOS6.
我正在安装CodeIgniter3.0.6.
当我使用数据库连接时,出现错误并说
A PHP Error was encountered
Severity: Core Warning
Message: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_mysqli.so' - /usr/lib64/php/modules/php_mysqli.so: cannot open shared object file: No such file or directory
Filename: Unknown
Line Number: 0
Run Code Online (Sandbox Code Playgroud)
当然'/usr/lib64/php/modules/php_mysqli.so'中没有文件,但我不知道如何安装mysqli.so.
我试过了
yum install php-mysql
Run Code Online (Sandbox Code Playgroud)
但
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.riken.jp
* extras: ftp.iij.ad.jp
* remi-safe: mirror.awanti.com
* updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> …Run Code Online (Sandbox Code Playgroud) 谁能教我map和的财产用例flatMap的属性用例吗?
万一Option,我知道这两个方法都有各自的签名,def map(A => B): Option[B]并且def flatMap(A => Option[B]): Option[B]。
因此,我可以通过两种方式获得一些价值:
scala> val a = Some(1).map(_ + 2)
a: Option[Int] = Some(3)
scala> val a2 = Some(1).flatMap(n => Some(n + 2))
a2: Option[Int] = Some(3)
Run Code Online (Sandbox Code Playgroud)
当我写一个方法时:def plusTwo(n: Int),有什么区别
def plusTwo(n: Int): Int = n + 2
Some(1).map(plusTwo)
Run Code Online (Sandbox Code Playgroud)
和
def plusTwo(n: Int): Option[Int] = Some(n + 2)
Some(1).flatMap(plusTwo)
Run Code Online (Sandbox Code Playgroud)
flatMap可以转换为 for 理解,并且几乎所有方法都返回Option包装的值是不是更好?
这可能是最初的问题,不仅仅是Scala(我也想知道Java相同),但基本类中基本方法的实现在哪里?例如,乘法运算有一些重载方法,只有关于接口的编写.(https://github.com/scala/scala/blob/2.12.x/src/library/scala/Int.scala#L392-L405)
但是,当我环顾四周时,什么都找不到.我怎么知道它们的实现?