重新安装Macports是否删除/销毁/ opt / local /目录结构的内容?

时间:2014-12-02 19:49:37

标签: macos macports

我正在运行MacPro G5 w / 10.5.8。我跑了: sudo port selfupdate然后运行: sudo端口升级过时了 当它全部完成后,我重新启动,apache2被破坏,不再提供PHP文件。如果我替换httpd.conf文件,它将提供html文件。 我终于放弃并恢复了备份,机器再次运行。问题是我有第二台机器,我做了同样的事情,并不想经历相同的过程。我已经阅读了几篇关于卸载/重新安装像Kirk Roybal How to do a clean reinstall with macports?这样的Macport的帖子,但它没有说明这个过程是否会破坏或重置/ opt / local /目录的内容。特别是MySQL DB和htdocs的内容。有谁知道这个过程是联系还是破坏性的?当然,在尝试任何事情之前,我会备份所有内容。

解: 我通过使php53安装工作而不是向后工作来实现它。这就是我的所作所为:

sudo port select --set php php53 (将MacPorts设置为使用php53而不是php5)

安装了sudo端口(检查以确保安装了php53-apache2handler)

sudo port install php53-apache2handler (它不是,你的可能也不是)

完成安装后

php -v (查看正在运行的PHP版本)

cd / opt / local / apache2 / modules

sudo / opt / local / apache2 / bin / apxs -a -e -n php mod_php53.so (在apache中激活php)

这应该追加

LoadModule php5_module modules / mod_php53.so

到您的/opt/local/apache2/conf/httpd.conf文件(立即查看)

还会有这样的一行

LoadModule php5_module modules / mod_php5.so

将其注释或删除,因此不会干扰新安装

它还应该将mod_php53.so的副本移动到

的/ opt /本地/ apache2的/模块

如果不存在,请参阅上面的php53-apache2handler安装。

检查httpd.conf文件是否有错误

/ opt / local / apache2 / bin / httpd -S

最后,创建/编辑php.ini文件,告诉apache2如何连接MySQL数据库

cd / opt / local / etc / php53

sudo cp php.ini-production php.ini (用于开发机器的生产机器使用开发)

sudo cp php.ini php.ini.bak

将默认套接字路径添加到php.ini

pdo_mysql.default_socket = / opt / local / var / run / mysql5 / mysqld.sock (可能因MySQL版本而异。如果不确定,请查看/ opt / local / var / run目录)

mysql.default_socket = /选择/本地的/ var /运行/ MYSQL5 / mysqld.sock

mysqli.default_socket = /选择/本地的/ var /运行/ MYSQL5 / mysqld.sock

如果您在连接MySQL时遇到问题,请首先检查以上路径中的拼写错误。相信我它会为你节省大量时间! 如果一切按计划进行,您应该能够重新启动机器,进行测试以确保所有端口自动启动并且事情应该正常工作。

1 个答案:

答案 0 :(得分:0)

您添加的文件(例如:MySQL DB)不会被更新破坏。如果您修改由MacPorts管理的文件(例如:它们列在'端口内容'中),那么这些修改将被更新破坏。

某些项目会将配置文件作为示例进行安装,并让用户制作真正的配置文件,以免通过更新来破坏它。看起来apache2端口遵循这种模式。它安装/opt/local/apache2/conf/original/httpd.conf,然后仅在文件不存在时才将其复制到/opt/local/apache2/conf/httpd.conf的实际位置。