E45 只读选项已设置(添加 ! 以覆盖)

wir*_*iry 28 server extension phpmyadmin

我正在尝试在我的 Ubuntu Server VirtualBox 中配置扩展 mcrypt 以在我的 phpMyAdmin 页面中工作。

我跑了vi /etc/php5/mods-available/mcrypt.ini,然后我改成extension=mcrypt.soextension=/usr/lib/php5/20121212/mcrypt.­so,当我试图保存更改时,它说:

E45 readonly option is set (add ! to override)
Run Code Online (Sandbox Code Playgroud)

我想也许我之前删除了一些东西是错误的extension=mcrypt.os,我不知道该怎么办。

wal*_*tor 26

可能您运行的用户vi /etc/php5/mods-available/mcrypt.ini没有对该文件的写访问权限。vi在文件打开时注意到这一点,并且当您尝试保存文件时,会给您E45错误,并提醒您可以尝试通过附加'!'到命令来覆盖文件的只读。

例如,如果您编辑了用户所拥有的文件 protected 444 (r--r--r--),则在执行 时会收到此消息:wq,但可以尝试使用 强制写入:wq!。在你的情况下,我建议做ls -l /etc/php5/mods-available/mcrypt.ini. 要实际编辑文件,您可以sudo暂时使用 的功能root,然后执行sudo vi /etc/php5/mods-available/mcrypt.ini


Pur*_*lex 12

您可以按Esc,然后按,U然后键入:q

您可以尝试使用sudo特权打开文件:sudo vi <file_name>


shg*_*Inc 10

尝试以下命令

\n
:w !sudo tee %\n
Run Code Online (Sandbox Code Playgroud)\n

解释一下,发生了什么事?

\n
    \n
  • :w \xe2\x80\x93 写入
  • \n
  • !sudo \xe2\x80\x93 调用 shell sudo 命令
  • \n
  • tee \xe2\x80\x93 使用 tee 重定向 write (:w) 命令的输出
  • \n
  • % \xe2\x80\x93 当前文件名
  • \n
\n

所以,在接下来按L重新加载。

\n

只是这个!!!

\n


小智 6

首先使用以下命令退出 vim 编辑器: :qa!

接下来,使用sudo vim filename和以后::wq

  • 欢迎来到 [ubuntu.se]!**:-)** 这个答案与[最高投票答案](https://askubuntu.com/a/635789/344926)相同 (3认同)