标签 命令 下的文章
OS X 解决Java在Terminal乱码问题
在网上常用的教程设置之后,总是会提示:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
让人非常郁闷,虽然发现很多人确实都这样,但似乎没什么好的解决方案。
搜索了半天,最后差不多都想要放弃了,却发现了一个不太一样的教程。
在~/.bash_profile
中设置:
alias javac='javac -J-Dfile.encoding=UTF-8 -encoding UTF-8 '
alias java='java -Dfile.encoding=UTF-8 '
加入这两句话,世界又清静了。
当然还需要这么重启一下:. ~/.bash_profile
CentOS MySQL重命名数据库
心累的发现数据库名填写似乎是正确的,但是提示找不到该数据库,什么鬼,然后看了一下phpmyadmin,明明有。
后来发现是多了一个空格……当然也可以选择导入数据库,但是这里我想直接重命名了。使用RENAME DATABASE name1 TO name2
失败了,似乎是从某一版本之后出于安全考虑取消了这个功能。于是只能选择修改文件夹名。
mysql -u username -p
链接到数据库。
接着输入:show variables like '%dir%';
找到
datadir | /usr/local/mysql/data/
用mv folder newfoldername
修改文件名。
CentOS PHP开启和关闭错误提示
为了避免各个不同的Linux/Unix系统的文件路径不一样,还是加了CentOS的前缀。
文件位置在\etc\php.ini
打开之后找到display_errors = On
改成Off关闭,On开启。
如果只是某一个文件需要关闭,那么只需要用error_reporting
函数就可以了。
<?php
// 关闭所有PHP错误报告
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// 报告 E_NOTICE也挺好 (报告未初始化的变量
// 或者捕获变量名的错误拼写)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// 除了 E_NOTICE,报告其他所有错误
// 这是在 php.ini 里的默认设置
error_reporting(E_ALL ^ E_NOTICE);
// 报告所有 PHP 错误 (参见 changelog)
error_reporting(E_ALL);
// 报告所有 PHP 错误
error_reporting(-1);
// 和 error_reporting(E_ALL); 一样
ini_set('error_reporting', E_ALL);
?>
具体见官方文档
需要注意的是,如果全局没有打开display_errors,那么error_reporting函数就算设置了也是没有用的。
CentOS 曲折的绑定域名以及绑定SSL的经历
这次由于APP需要搬家以及需要https的缘故,学校的服务器不能自由申请于是乎我们选择了绑定自己的域名,不过没想到还有这么多事情……略麻烦。
首先找到httpd.conf,我的在/etc/httpd/conf/httpd.conf
shift+G到最后
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/skyposter
ServerName www.csvwolf.com
ErrorLog logs/higpa.csvwolf.com-errorlog
CustomLog logs/higpa.csvwolf.com-access_log common
</VirtualHost>
CentOS 添加用户并分配权限
为了便于管理,需要多开一个用户,然后管理好权限,这里搜索了一下:
useradd -d /var/www/html/skyposter/ poster
这个添加用户权限,默认位置就再这里 并且只能操作这个目录下,当然在新建文件夹时还要做出权限控制。
passwd poster
定义好密码。
接着我是用root创建的文件夹,显然不行,需要把权限分配给指定用户,chmod
自不必说,如果对于用户处理还能使用:
chown -R poster /var/www/html/skyposter
CentOS Beanstalkd安装使用
Beanstalkd是一个消息队列系统,大致就是为了实现推送服务,让前端快速响应所以需要这个服务。
在CentOS下安装很容易,本来以为需要编译,结果并不要:yum install beanstalkd
似乎需要PHP 5.2以上。不虚。
接着启动:
./beanstalkd -l 10.0.1.5 -p 11300
首页有教程,当然,查看了一下help似乎没有后台启动服务, 在命令之后加了个&人工后台。
./beanstalkd -l 10.0.1.5 -p 11300 &
添加到自启动,据说酱紫:
# 添加到自启动
echo "beanstalkd -l 127.0.0.1 -p 11300 -u nobody" >> /etc/rc.local
然后也是因为那个while true的问题,在测试的时候不小心断不掉,对于这个问题,结束进程重新启动就好了。killall beanstalkd
结束进程。
CentOS 抢救磁盘 /dev/mapper/VolGroup-lv_root 100%
今天发生了一件很可怕的事情,FTP上传上去的文件都变成了0kb,然后查了一下,基本上都说是因为磁盘不够用——怎么可能,没放多少东西呀。
然后去找错误日志,不得不说这个错误日志也找的心累,关于系统的Logs,基本上都在/var/log/
,关于FTP的部分,在messages
里,打开一看:
May 2 11:17:13 localhost auditd[1178]: Audit daemon is low on disk space for logging
May 2 11:17:13 localhost auditd[1178]: Audit daemon is suspending logging due to low disk space.
WTF,这不科学。
brew install ruby后替换版本
安装Rails推荐的版本是Ruby2.2.0,而Mac自带的是2.0.0,看来又是要折腾的部分啊。
找了半天找到一篇mac mini brew安装了php54,但是我的工作php还是5.3.15?
因为我遇到了相同的问题,所以就照着下面说的很简单的方法做了:
ls -al /usr/local/bin/php
把PHP改成ruby的路径,用which ruby
找到路径
cat ~/.bash_profile
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
搞定了,接下来就可以安装rails了。
Mac OSX PHP安装mcrypt指南
在Laravel时我发现无法正常使用,于是开始折腾。
报错:
undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
类似于这样。
于是要查了一下,要安装这个模块:brew install mcrypt
,成功,接下来根据PHP,当时我的是5.4的,运行了一下:brew install php54-mcrypt
,失败。
查了一下先执行安装:
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
安装完毕后在此运行,然后重启apache,发现没用,phpinfo()
里也没有显示,于是抱着试试看的心态运行了brew install php55-mcrypt
,万万没想到!然后默默的就变成php5.5了……但是php -v
仍然是5.4。运行brew link --overwrite php55
,此时指向5.5了,但是仍然不行。
网上说,在php.ini
里写入extension=mcrypt.so
就行了。
但是关键是,php.ini和mcrypt.so的位置我都不知道。
再次抱着试试看的心态,我运行了:brew link php55-mcrypt
,成功获得了mcrypt的地址。
然后:sudo vim /etc/php.ini
写入:extension=/usr/local/Cellar/php55-mcrypt/5.5.23/mcrypt.so
重启apache,搞定。
在OSX中,重启apache的命令是:sudo apachectl restart